As a native Android developer with no prior experience with Flutter, I decided to explore how it would be to build a Flutter project with an Android mindset.
I wanted to see how easy or hard it would be to come up with a full project in as little time as possible, while following Android development practices that I am familiar with, such as:
- breaking down the project into smaller, more manageable modules
- promoting the use of clean architecture principles, separating concerns and dependencies to create a maintainable and scalable codebase
- providing a well-structured navigation system
- implementing a Single Source Of Truth strategy to ensure consistency and integrity of data across the application
- incorporating some reactive programming techniques to optimize data flow and streamline asynchronous operations
- encapsulating dependencies and injecting them into the code at runtime
- supporting unit tests to ensure the code is working correctly
- managing the state of the app in a consistent and predictable way
I also wanted to compare the result with standard Flutter projects and explore the framework’s support for native multiplatform UI look.