Repolode
felangel

felangel/bloc

FlutterやAngularDartで主に使われる、プレゼンテーションとビジネスロジックを分離するBLoCパターンを実装したDart向け状態管理ライブラリ。

スター
12,483
フォーク
3,414
未解決の Issue
83
最終コミット
昨日

これは何?

Blocは、BLoC(Business Logic Component)デザインパターンを実装した、予測可能な状態管理ライブラリです。プレゼンテーションとビジネスロジックを分離することで、コードのテストや再利用を容易にします。

このリポジトリは複数のパッケージからなるモノレポです。コアのblocパッケージはBlocクラスとCubitクラスを提供し、flutter_blocはUIとblocを接続するFlutterウィジェットを、hydrated_blocはアプリの再起動後も状態を保持する機能を提供します。そのほか、イベントの並行処理を制御するトランスフォーマー(bloc_concurrency)、ユニットテスト用ヘルパー(bloc_test)、lintルール一式(bloc_lint)、undo/redo形式の履歴管理を行うreplay_blocも含まれます。angular_blocはAngularDartアプリ向けです。

このプロジェクトはFelix Angelovがメンテナンスしており、チュートリアルや移行ガイドを掲載したbloclibrary.devでドキュメントを公開しています。

主な機能

  • 01Dartコードで状態を管理するためのBlocクラスとCubitクラスを提供します。
  • 02状態をFlutterのUIに接続するflutter_blocウィジェットを含みます。
  • 03アプリの起動間で状態を保持するhydrated_blocを提供します。
  • 04blocのユニットテストに使えるbloc_testヘルパーを提供します。
  • 05イベントの処理方法を制御するbloc_concurrencyトランスフォーマーを含みます。

ユースケース

  • Flutterアプリの状態管理を構成し、UIウィジェットにビジネスロジックが入り込まないようにする。
  • UIに依存しないアプリケーションロジックのユニットテストを書く。
  • hydrated_blocを使ってアプリの再起動後も状態を保持する。
  • FlutterアプリとAngularDartのWebアプリでDartのビジネスロジックを共有する。

使う前に知っておきたいこと

  • その用途はDartエコシステムに結び付いており、主にFlutterとAngularDartで使われます。

トピック

よくある質問

bloc とは?
FlutterやAngularDartで主に使われる、プレゼンテーションとビジネスロジックを分離するBLoCパターンを実装したDart向け状態管理ライブラリ。 Blocは、BLoC(Business Logic Component)デザインパターンを実装した、予測可能な状態管理ライブラリです。プレゼンテーションとビジネスロジックを分離することで、コードのテストや再利用を容易にします。
bloc は無料で使えますか?ライセンスは?
bloc は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
bloc は今もメンテナンスされていますか?
活発にメンテナンス中。bloc の最終コミットは 2026年10月20日 です。
bloc は何に使えますか?
Flutterアプリの状態管理を構成し、UIウィジェットにビジネスロジックが入り込まないようにする。 UIに依存しないアプリケーションロジックのユニットテストを書く。 hydrated_blocを使ってアプリの再起動後も状態を保持する。 FlutterアプリとAngularDartのWebアプリでDartのビジネスロジックを共有する。
bloc はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/felangel/bloc

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト