Session
One Dependency: A Layered Flutter Architecture With Just Provider
Open a typical Flutter project's pubspec and you will find Bloc or Riverpod, a dependency-injection container, and maybe a code generator or two, each adding API surface, a learning curve, and migration risk. Often they are redundant, and the team cannot say what each one actually buys. Every abstraction has a cost, paid in onboarding time, debugging through layers of indirection, and dependencies nobody can justify.
This talk keeps the clean, layered architecture most teams already want, data, repository,
business logic, and presentation, and strips out the framework tax. The boundaries and the
testability stay. The business-logic layer is built from APIs that already ship with Flutter: ValueNotifier for state and Provider for wiring it into the widget tree. We walk a real feature end to end, then look at how the same structure scales to a feature-first monorepo using Dart's built-in Pub Workspaces. You will leave able to start your next app with zero state-management packages, and with a sharper sense of when a dependency is actually worth its cost.
Most Flutter apps drag along a stack of state-management and dependency-injection packages
that nobody on the team can fully explain. This talk takes the opposite approach and finds the
least architecture an app actually needs, rebuilding a clean, layered, testable app with one
dependency you already know how to use: Provider.
Key takeaways
• How to build a clean, testable, layered Flutter app using only Provider and ValueNotifier.
• A framework for deciding when a state-management dependency actually earns its cost.
• When to reach for Bloc or Riverpod on purpose, and how to start your next app with zero
state packages.
Marcos Sevilla
Technical Delivery Lead at Very Good Ventures
Barcelona, Spain
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top