Move beyond setState and structure state for larger Flutter apps using two production-grade approaches. You will build Riverpod providers and notifiers, implement the Bloc/Cubit pattern with typed events and states, decide which fits a given codebase, and test all of it in isolation.
Watch the free preview
Providers — the building blocks of Riverpod — free to watch, no account needed.
What you'll learn
- Structure state for larger Flutter apps using Riverpod providers and the Bloc/Cubit pattern
- Build providers and notifiers that manage synchronous and asynchronous state
- Decide when Riverpod suits a codebase and how to scope and compose dependencies
- Implement the Bloc/Cubit pattern with typed events and immutable states
- Test state logic in isolation for both Riverpod and Bloc
Syllabus
Riverpod Fundamentals — Providers
Providers — the building blocks of RiverpodFree preview
Notifiers — state that changes over time
Async State and Choosing Riverpod
Async state with FutureProvider and AsyncNotifier
When to choose Riverpod — scoping and dependencies
The Bloc and Cubit Pattern
Cubit — the simplest Bloc
Bloc — events and states
Comparing Approaches and Testing State
Riverpod vs Bloc — choosing on purpose
Testing state logic in isolation
Lab — 10 Exercises & Solutions
Exercises 1–5
Exercises 6–10