Игровой движок на базе Flutter для 2D-игр: игровой цикл, система компонентов, обнаружение столкновений, эффекты и обработка ввода.
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 обновляется ежедневно.
Похожие проекты
Приложение для удалённого рабочего стола с открытым исходным кодом, написанное на Rust и доступное для самостоятельного хостинга, — альтернатива TeamViewer.
Бесплатное приложение с открытым исходным кодом для отправки файлов и сообщений на устройства поблизости по локальной сети — без интернета и сторонних серверов.
Подборка библиотек, плагинов, руководств, статей и примеров приложений для Flutter, сгруппированных по темам.
Набор Flutter-плагинов, с помощью которых приложения на Flutter могут использовать сервисы Firebase: Auth, Firestore, Messaging и Analytics.
Кроссплатформенная читалка на Flutter с поддержкой EPUB, MOBI, AZW3, FB2, TXT и PDF, а также инструментами для чтения на базе AI.