Best practices for Flutter application architecture using Riverpod, from Code with Andrea.
Dates: Fri, Oct 27 - Wed, Nov 1
Learning Outcomes
You understand best practices for mobile application architecture
You understand the “Riverpod Architecture”, and how it compares to other architectures such as MVC, MVP, MVVM, and Clean Architecture.
You understand the separations of concerns associated with the Presentation, Application, Domain, and Data Layers in the Riverpod Architecture.
You understand how to organize the directory structure of your Flutter application using a “Feature-first” approach, and why it is better than (the more intuitive) “Layer-first” approach.
Readings
1. Flutter App Architecture: An Introduction
A recommended architecture for Flutter, along with comparisons to other popular architectures (Clean, MVC, MVVM, Bloc, etc)
2. Flutter App Architecture: The Repository Pattern
The repository pattern accesses data objects from various sources, such as a backend API, and makes them available as type-safe entities to the domain layer of the app.
3. Flutter App Architecture: The Domain Model
The domain model is a conceptual model of the domain that incorporates both behavior and data.
4. Flutter App Architecture: The Application Layer
The application layer implements the business logic and acts as an intermediary between the user interface and the data layer.
5. Flutter App Architecture: The Presentation Layer
The presentation layer implements the user interface of the app.
6. Flutter App Architecture: Project Structure
Best practices for organizing the directory structure of your Flutter app
7. Flutter App Architecture Example: Data Layer
Flutter Weather App Example using the OpenWeatherMap API