finds.dev← search

// the find

brianegan/flutter_architecture_samples

★ 8,922 · Dart · BSD-3-Clause · updated Nov 2025

TodoMVC for Flutter

TodoMVC for Flutter — the same todo app implemented in 12 different state management approaches side-by-side: vanilla lifting, InheritedWidget, Provider/ChangeNotifier, BLoC (original and library), MobX, Redux, Signals, MVI, scoped_model, and more. It's aimed at Flutter developers who want to compare architectures before committing to one for a real project.

Each sample is a complete, runnable app with integration tests that run against all of them — not just code snippets. The shared integration test suite is the standout feature: it proves all implementations behave identically, so you're comparing architecture, not behavior. Web demos are deployed for every sample, which means you can evaluate without cloning anything. The repo has stayed alive through multiple Flutter generations and still saw commits in late 2025.

The app is trivially simple — a todo list doesn't stress-test any of these patterns in the ways that matter (deep widget trees, concurrent async state, optimistic updates). You'll pick an architecture here and then discover its rough edges in your first real feature. Several of the approaches (scoped_model, original BLoC with Sinks/Streams) are effectively deprecated in the current Flutter ecosystem, and the README doesn't flag this clearly enough — a newcomer might reasonably pick one of the dead-end approaches. There's no guidance on when to choose which pattern, so the comparison is purely structural, not prescriptive.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →