Bloc Tools는 Bloc 상태 관리 라이브러리를 사용한 개발을 향상시키기 위해 설계된 유틸리티 패키지입니다. Bloc을 사용하여 Flutter 앱을 구축할 때 자주 발생하는 작업을 간소화하기 위해 추가적인 도우미, 확장 기능 및 유틸리티를 제공합니다. 이러한 도구들은 코드의 가독성을 향상시키고, 반복 코드를 줄이며, 다양한 플랫폼에서 효율적인 상태 처리를 지원합니다. 이 패키지는 Bloc 생태계와 원활하게 통합되며 공식 Bloc 팀에 의해 유지보수됩니다.
사용 사례
Bloc 기반 앱에서 상태 전이 간소화
상태 관리에서 반복 코드 줄이기
Bloc 컴포넌트의 테스트 가능성 향상
디버깅 및 로깅 간소화
크로스 플랫폼 Bloc 구현 지원
주요 기능
Bloc 상태를 위한 편리한 확장
비동기 상태 처리를 위한 도우미
내장된 디버깅 유틸리티
Bloc의 핵심 기능과의 통합
경량이며 종속성 없음
적합한 대상
상태 관리에 Bloc을 사용하는 개발자
반복 코드를 줄이려는 팀
강력한 상태 처리가 필요한 프로젝트
크로스플랫폼 플러터 애플리케이션
복잡한 상태 로직을 가진 애플리케이션
고려 사항
기존의 Bloc 라이브러리 사용이 필요합니다
패키지 크기가 약간 증가할 수 있습니다
다른 Bloc 패키지와 함께 사용하는 것이 가장 좋습니다
독립적인 상태 관리용으로 의도되지 않음
Bloc을 사용하는 Flutter 프로젝트에 한정
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
A predictable state management library that helps implement the BLoC design pattern.
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.
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.
Code sharing with bloc - How to share code between a mobile application written with Flutter and a web application written with AngularDart.
Weather app tutorial with flutter_bloc - How to build a weather app which supports dynamic theming, pull-to-refresh, and interacting with a REST API using the bloc and flutter_bloc packages.
Firebase login tutorial with flutter_bloc - How to create a fully functional login/sign up flow using the bloc and flutter_bloc packages with Firebase Authentication and Google Sign In.
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, flutter_bloc hydrated_bloc, replay_bloc, bloc_test 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
Bloc.js - A port of the bloc state management library from Dart to JavaScript, by Felix Angelov.