State management in Flutter with bloc: a practical guide
A predictable state management library that helps implement the BLoC design pattern.
bloc is an open-source state-management library for Flutter mobile app development, with 12,474★ on GitHub and last updated on 2026-07-15. This guide covers what bloc does, why it matters in 2026, how to add it to your project, when to reach for it, and how it compares to the alternatives — plus a quick FAQ.
What is bloc?
A predictable state management library that helps implement the BLoC design pattern. It focuses on keeping your UI in sync with your app state as it changes. The project lives at felangel/bloc and is maintained by felangel.
Why bloc is worth knowing in 2026
bloc carries 12,474 GitHub stars, 3,417 forks, 71 open issues. It has been around since 2018, and is actively maintained (updated within the last month). For a State management option, that combination of adoption and upkeep usually means a healthy community, production usage, and plenty of examples to learn from — the things that make a dependency safe to build on.
Installing bloc
Add the package to your pubspec.yaml:
dependencies:
bloc: ^latest
Then fetch it and import it in your Dart code:
flutter pub get
import 'package:bloc/bloc.dart';
Check the package’s example/ directory and its pub.dev page for the exact API — bloc is versioned there with full docs so you always integrate against the current release.
When should you use bloc?
Reach for bloc when:
- your widget tree needs to react to shared, changing data
- you want to separate business logic from presentation
- you’re scaling past
setStateand need predictable rebuilds
It’s especially relevant if your project touches angulardart, bloc, concurrency, dart, dart-library, dart-web.
bloc vs. the alternatives
If you’re weighing options in the State management space, these are the other projects developers most often compare bloc against:
- State management in Flutter with getx: a practical guide
- State management in Flutter with flutter_architecture_samples: a practical guide
- State management in Flutter with riverpod: a practical guide
- State management in Flutter with fish-redux: a practical guide
There’s no single winner — the right pick depends on your app’s size, your team’s familiarity, and your performance budget. Browse the full State management collection to compare them side by side.
Frequently asked questions
Is bloc free to use?
Yes. bloc is open source and free to use in your Flutter projects. You can view the source, report issues, and contribute on GitHub.
Does bloc work on both iOS and Android?
bloc is built for Flutter, so it targets iOS and Android from a single codebase, and typically web and desktop too depending on the project’s platform support.
How popular is bloc?
As of 2026, bloc has around 12,474 stars and 3,417 forks on GitHub, which puts it among the more widely used options in the State management space.
What are good alternatives to bloc?
Popular alternatives in the State management category include getx, flutter-architecture-samples, riverpod. The best choice depends on your app’s size, team, and performance needs.
How do I install bloc?
Add bloc to the dependencies section of your pubspec.yaml and run flutter pub get. Full versions and API docs are on pub.dev.
Resources & links
- GitHub: felangel/bloc
- pub.dev: bloc
- Video tutorials: search YouTube for bloc
Part of FlutterCook — 500 hands-on guides to the best open-source Flutter libraries, UI kits, and apps. Explore the live GitHub trends or browse YouTube guides.