bloc

A predictable state management library that helps implement the BLoC design pattern

Github stars Tracking Chart

build
codecov
Star on GitHub
style: effective dart
Flutter Website
Awesome Flutter
Flutter Samples
Discord
License: MIT


A predictable state management library that helps implement the BLoC design pattern., Package, Pub, ----------------------------------------------------------------------------------, ------------------------------------------------------------------------------------------------------, bloc, pub package, bloc_test, pub package, flutter_bloc, pub package, angular_bloc, pub package, ## Overview

The goal of this library is to make it easy to separate presentation from business logic, facilitating testability and reusability.

Documentation

Migration

Examples

Dart

  • Counter - an example of how to create a CounterBloc (pure dart).

Flutter

  • Counter - an example of how to create a CounterBloc to implement the classic Flutter Counter app.
  • Form Validation - an example of how to use the bloc and flutter_bloc packages to implement form validation.
  • Bloc with Stream - an example of how to hook up a bloc to a Stream and update the UI in response to data from the Stream.
  • Infinite List - an example of how to use the bloc and flutter_bloc packages to implement an infinite scrolling list.
  • Login Flow - an example of how to use the bloc and flutter_bloc packages to implement a Login Flow.
  • Firebase Login - an example of how to use the bloc and flutter_bloc packages to implement login via Firebase.
  • Github Search - an example of how to create a Github Search Application using the bloc and flutter_bloc packages.
  • Weather - an example of how to create a Weather Application using the bloc and flutter_bloc packages. The app uses a RefreshIndicator to implement "pull-to-refresh" as well as dynamic theming.
  • Todos - an example of how to create a Todos Application using the bloc and flutter_bloc packages.
  • Timer - an example of how to create a Timer using the bloc and flutter_bloc packages.
  • Firestore Todos - an example of how to create a Todos Application using the bloc and flutter_bloc packages that integrates with cloud firestore.
  • Shopping Cart - an example of how to create a Shopping Cart Application using the bloc and flutter_bloc packages based on flutter samples.
  • Dynamic Form - an example of how to use the bloc and flutter_bloc packages to implement a dynamic form which pulls data from a repository.

Web

  • Counter - an example of how to use a CounterBloc in an AngularDart app.
  • Github Search - an example of how to create a Github Search Application using the bloc and angular_bloc packages.

Flutter + Web

  • Github Search - an example of how to create a Github Search Application and share code between Flutter and AngularDart.

Articles

Extensions

  • IntelliJ - extends IntelliJ/Android Studio with support for the Bloc library and provides tools for effectively creating Blocs for both Flutter and AngularDart apps.
  • VSCode - extends VSCode with support for the Bloc library and provides tools for effectively creating Blocs for both Flutter and AngularDart apps.

Community

Learn more at the following links, which have been contributed by the community.

Packages

Video Tutorials

Extensions

Maintainers

Main metrics

Overview
Name With Ownerfelangel/bloc
Primary LanguageDart
Program languageDart (Language Count: 6)
Platform
License:MIT License
所有者活动
Created At2018-10-07 19:32:59
Pushed At2025-06-08 22:00:22
Last Commit At2025-06-08 17:00:20
Release Count629
Last Release Nameintellij_bloc-v4.1.5 (Posted on )
First Release Namebloc-v0.1.0 (Posted on )
用户参与
Stargazers Count12.2k
Watchers Count169
Fork Count3.4k
Commits Count2.6k
Has Issues Enabled
Issues Count2690
Issue Open Count65
Pull Requests Count1345
Pull Requests Open Count8
Pull Requests Close Count234
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private