(originally published on Medium)
Flutter provides a modern react-style framework, rich widget collection and tooling, but there’s nothing similar to Android’s guide to app architecture.
Indeed, there’s no ultimate architecture that would meet all the possible requirements, yet let’s face the fact that most of the mobile apps we are working on have at least some of the following functionality:
- Request/upload data from/to the network.
- Map, transform, prepare data and present it to the user.
- Put/get data to/from the database.
Taking this into account I have created a sample app that is solving exactly the same problem using three different approaches to the architecture.