bloc

by felangel

felangel / bloc

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

5.7K Stars 1.4K Forks Last release: 4 days ago (bloc-v6.1.0) MIT License 1.3K Commits 338 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Bloc

build codecov Star on Github style: effective dart Flutter Website Awesome Flutter Flutter Samples License: MIT Discord Bloc Library


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 | | hydrated_bloc | pub package | | replay_bloc | pub package |

Overview

Bloc Architecture

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
    .
  • Complex List - an example of how to manage a list of items and asynchronously delete items one at a time using
    bloc
    and
    flutter_bloc
    .
  • 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.
  • Wizard - an example of how to build a multi-step wizard using the
    bloc
    and
    flutter_bloc
    packages.
  • GraphQL - an example of how to use the
    bloc
    and
    flutter_bloc
    packages with
    graphql
    to retrieve data from api.graphql.jobs.
  • Fluttersaurus - an example of how to use the
    bloc
    and
    flutter_bloc
    packages to create a thesuarus app -- made for Bytconf Flutter 2020.

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

Books

  • Flutter Complete Reference - A book about the Dart programming language (version 2.10, with null safety support) and the Flutter framework (version 1.20). It covers the bloc package (version 6.0.3) in all flavors: bloc, flutterbloc hydratedbloc, replaybloc, bloctest and cubit.

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

Written Resources

Extensions

Maintainers

Supporters

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.