Architecture for Flutter apps by Cagatay Ulusoy
Cagatay Ulusoy
Cagatay is a software engineer from Wolt with a focus on creating apps for Android and Flutter. The provided speech is a presentation about Flutter architecture and development practices. It covers topics such as the speaker's background, the business motivation behind adopting Flutter, principles of good architecture, layered architecture, state management, and the Model-View-ViewModel (MVVM) design pattern. The speaker discusses his transition from telecommunications engineering to mobile app development, particularly focusing on his experience with Flutter. He explains the motivation behind adopting Flutter for cross-platform app development and discuss the importance of having a well-structured architecture to accommodate the needs of multiple teams working on the same codebase.
Key points include:
- Overview of the business motivation for adopting Flutter, particularly in the context of a large organization with multiple teams and projects.
- Explanation of architectural principles such as "You Aren't Gonna Need It" (YAGNI), "Keep It Stupid Simple" (KISS), "Don't Repeat Yourself" (DRY), and "Separation of Concerns" (SOC).
- Discussion of layered architecture, including the presentation layer, service layer, data source layer, and widgets layer. Introduction to the Model-View-Viewmodel (MVVM) design pattern and its application in Flutter development.
- Explanation of state management in Flutter apps and the challenges associated with managing state in a large widget tree.
- Considerations for optimizing performance in Flutter apps, particularly in terms of rebuilding the UI efficiently.
Overall, the presentation provides insights into best practices for architecting and developing Flutter applications, with a focus on scalability, maintainability, and performance optimization.
Watch video on our YouTube channel