Repolode
felangel

felangel/bloc

Библиотека управления состоянием на Dart с реализацией паттерна BLoC, отделяющего представление от бизнес-логики; подходит прежде всего для Flutter и AngularDart.

Звёзды
12,483
Форки
3,414
Открытые issues
83
Последний коммит
вчера

Что это?

Bloc — предсказуемая библиотека управления состоянием на Dart, реализующая паттерн проектирования BLoC (Business Logic Component). Она помогает отделить представление от бизнес-логики, благодаря чему код проще тестировать и повторно использовать.

Репозиторий — монорепозиторий с несколькими пакетами. Основной пакет bloc предоставляет классы Bloc и Cubit, flutter_bloc — виджеты Flutter для подключения bloc к UI, а hydrated_bloc сохраняет состояние после перезапуска приложения. Другие пакеты добавляют трансформеры для управления параллельной обработкой событий (bloc_concurrency), инструменты для модульного тестирования (bloc_test), набор правил линтера (bloc_lint) и replay_bloc для истории действий с возможностью отмены и повтора. Пакет angular_bloc предназначен для приложений на AngularDart.

Проект поддерживает Felix Angelov. Документация размещена на bloclibrary.dev и включает обучающие материалы и руководство по миграции.

Ключевые возможности

  • 01Предоставляет классы Bloc и Cubit для управления состоянием в коде на Dart.
  • 02Включает виджеты flutter_bloc для подключения состояния к UI Flutter.
  • 03Пакет hydrated_bloc позволяет сохранять состояние между запусками приложения.
  • 04Пакет bloc_test предоставляет вспомогательные средства для модульного тестирования bloc.
  • 05Пакет bloc_concurrency включает трансформеры, позволяющие управлять обработкой событий.

Сценарии использования

  • Организация управления состоянием в приложении Flutter, чтобы виджеты UI не содержали бизнес-логику.
  • Написание модульных тестов для логики приложения, не зависящей от UI.
  • Сохранение состояния приложения после перезапусков с помощью hydrated_bloc.
  • Совместное использование бизнес-логики на Dart в приложениях Flutter и AngularDart.

Что важно знать

  • Его использование связано с экосистемой Dart, главным образом с Flutter и AngularDart.

Темы

Частые вопросы

Что такое bloc?
Библиотека управления состоянием на Dart с реализацией паттерна BLoC, отделяющего представление от бизнес-логики; подходит прежде всего для Flutter и AngularDart. Bloc — предсказуемая библиотека управления состоянием на Dart, реализующая паттерн проектирования BLoC (Business Logic Component). Она помогает отделить представление от бизнес-логики, благодаря чему код проще тестировать и повторно использовать.
bloc можно использовать бесплатно? Какая у него лицензия?
bloc распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
bloc всё ещё поддерживается?
Активно поддерживается. Последний коммит в bloc — 20 окт. 2026 г..
Для чего можно использовать bloc?
Организация управления состоянием в приложении Flutter, чтобы виджеты UI не содержали бизнес-логику. Написание модульных тестов для логики приложения, не зависящей от UI. Сохранение состояния приложения после перезапусков с помощью hydrated_bloc. Совместное использование бизнес-логики на Dart в приложениях Flutter и AngularDart.
Где скачать bloc?
Исходный код и инструкции по установке — на GitHub: https://github.com/felangel/bloc

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты