Repolode
felangel

felangel/bloc

BLoC 패턴을 구현한 Dart 상태 관리 라이브러리로, 프레젠테이션과 비즈니스 로직을 분리하며 주로 Flutter와 AngularDart에서 사용됩니다.

스타
12,483
포크
3,414
열린 이슈
83
마지막 커밋
어제

어떤 프로젝트인가요?

Bloc은 BLoC(Business Logic Component) 디자인 패턴을 구현한, 예측 가능한 Dart 상태 관리 라이브러리입니다. 프레젠테이션과 비즈니스 로직을 분리해 코드를 더 쉽게 테스트하고 재사용할 수 있도록 하는 것이 목표입니다.

이 저장소는 여러 패키지로 구성된 모노레포입니다. 핵심 bloc 패키지는 Bloc 및 Cubit 클래스를 제공하고, flutter_bloc은 Bloc을 UI에 연결하는 Flutter 위젯을 제공하며, hydrated_bloc은 앱을 다시 시작해도 상태를 유지합니다. 그 밖에 이벤트 동시성 트랜스포머(bloc_concurrency), 단위 테스트 헬퍼(bloc_test), 린트 규칙 모음(bloc_lint), 실행 취소와 다시 실행 방식의 기록을 지원하는 replay_bloc도 포함되어 있습니다. angular_bloc은 AngularDart 앱을 대상으로 합니다.

이 프로젝트는 Felix Angelov가 관리하며, 튜토리얼과 마이그레이션 가이드를 제공하는 bloclibrary.dev에 문서가 있습니다.

핵심 기능

  • 01Dart 코드에서 상태를 관리하는 Bloc 및 Cubit 클래스를 제공합니다.
  • 02Flutter UI에 상태를 연결하는 flutter_bloc 위젯을 포함합니다.
  • 03앱을 실행할 때마다 상태를 유지하는 hydrated_bloc을 제공합니다.
  • 04Bloc 단위 테스트를 위한 bloc_test 헬퍼를 제공합니다.
  • 05이벤트 처리 방식을 제어하는 bloc_concurrency 트랜스포머를 포함합니다.

활용 사례

  • UI 위젯에 비즈니스 로직이 들어가지 않도록 Flutter 앱의 상태 관리를 구성합니다.
  • UI와 독립적인 애플리케이션 로직의 단위 테스트를 작성합니다.
  • hydrated_bloc으로 앱을 다시 시작한 뒤에도 상태를 유지합니다.
  • Flutter 앱과 AngularDart 웹 앱에서 Dart 비즈니스 로직을 공유합니다.

사용 전 알아둘 점

  • 사용 범위가 Dart 생태계에 한정되어 있으며, 주로 Flutter와 AngularDart에서 사용됩니다.

토픽

자주 묻는 질문

bloc은(는) 무엇인가요?
BLoC 패턴을 구현한 Dart 상태 관리 라이브러리로, 프레젠테이션과 비즈니스 로직을 분리하며 주로 Flutter와 AngularDart에서 사용됩니다. Bloc은 BLoC(Business Logic Component) 디자인 패턴을 구현한, 예측 가능한 Dart 상태 관리 라이브러리입니다. 프레젠테이션과 비즈니스 로직을 분리해 코드를 더 쉽게 테스트하고 재사용할 수 있도록 하는 것이 목표입니다.
bloc은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
bloc은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
bloc은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. bloc의 마지막 커밋은 2026년 10월 20일입니다.
bloc은(는) 어디에 사용할 수 있나요?
UI 위젯에 비즈니스 로직이 들어가지 않도록 Flutter 앱의 상태 관리를 구성합니다. UI와 독립적인 애플리케이션 로직의 단위 테스트를 작성합니다. hydrated_bloc으로 앱을 다시 시작한 뒤에도 상태를 유지합니다. Flutter 앱과 AngularDart 웹 앱에서 Dart 비즈니스 로직을 공유합니다.
bloc은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/felangel/bloc

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트