Member-only story
A Complete Guide to a Scalable App in Flutter — Bonus 1: Sharing Info Across Multiple Screens
Use a GoRouter ShellRoute to Create a Provider on Top of a List of Routes
Introduction
Happy New Year, everyone! It’s been a while since my last article. Last year, I wrote a series of six articles about building a scalable Flutter app using a model-driven clean architecture based on the MVVM pattern. The key tools were Provider, GoRouter, and GetIt, forming the backbone of the architecture.
The series culminated in a fully functional multi-platform app that serves as a great starting point for various projects. At the end of that guide, I promised bonus chapters addressing advanced topics encountered in specific app types. Life got in the way, but with this new year, I’m determined to pick up where I left off. While the articles might be shorter, they’ll aim to be consistent and impactful.
If you missed the series, here’s a quick overview:
- Part 1 — Architecture: A model-driven clean architecture based on the MVVM pattern.
- Part 2 — Data layer
- Part 3 — UI layer with the MVVM pattern (powered by Provider) .
- Part 4 — UI layer with complex Navigation and responsive layout (powered by Provider, go_router and flutter_adaptive_scaffold)
- Part 5 — Dynamic Theming and AppSettings using Provider