flutter-apply-architecture-best-practices
Installation
SKILL.md
Architecting Flutter Applications
Contents
Architectural Layers
Enforce strict Separation of Concerns by dividing the application into distinct layers. Never mix UI rendering with business logic or data fetching.
UI Layer (Presentation)
Implement the MVVM (Model-View-ViewModel) pattern to manage UI state and logic.
- Views: Write reusable, lean widgets. Restrict logic in Views to UI-specific operations (e.g., animations, layout constraints, simple routing). Pass all required data from the ViewModel.
- ViewModels: Manage UI state and handle user interactions. Extend
ChangeNotifier(or useListenable) to expose state. Expose immutable state snapshots to the View. Inject Repositories into ViewModels via the constructor.