finds.dev← search

// the find

bizz84/movie_app_state_management_flutter

★ 577 · Dart · MIT · updated Sep 2022

Flutter State Management: Movie App with Provider, Riverpod, flutter_bloc

A reference project showing the same Netflix-inspired movie app implemented five different ways: Provider, Riverpod, flutter_bloc, get_it, and states_rebuilder. The shared core (API, models, persistence, UI widgets) lives in a common package, so each implementation only contains the state management layer — making the differences easy to spot. This is for Flutter developers who want to see concrete, non-trivial examples of each approach side by side.

The architecture is well thought out — shared UI widgets with callbacks and no business logic in the core package is exactly how you'd want to structure this kind of comparison. The app is complex enough to be realistic: pagination, local persistence, multi-profile support, and a real API. Using Sembast for local storage is a reasonable choice that doesn't add much complexity. The envied package for API key security is a nice touch that most tutorials skip.

It requires Flutter beta channel, which means it won't build on stable without fiddling — a real friction point for anyone trying to use this as a reference today. The last commit was September 2022, so Riverpod and flutter_bloc implementations are stuck on older APIs (Riverpod 2.x with code generation and flutter_bloc's newer patterns are missing). The cleartext traffic workarounds for TMDB image URLs are sloppy — TMDB has served images over HTTPS for years, this was fixable. states_rebuilder is an obscure package that most Flutter devs have never heard of and won't use; that slot would have been more valuable as go_router + one of the mainstream options.

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 →