Flutter/Package

[Flutter] Bloc ① - 소개

찌김이 2022. 8. 3. 15:44
728x90
반응형

Bloc ① - 소개 

Bloc ② - Cubit 과 Bloc https://dalgoodori.tistory.com/29

Bloc ③ - Bloc Widgets https://dalgoodori.tistory.com/30

Bloc ④ - context.read, context.watch, context.select https://dalgoodori.tistory.com/31

Bloc ⑤ - Bloc Test https://dalgoodori.tistory.com/32

 

 Flutter에서는 UI 와 비즈니스 로직을 분리하기 위해서 많이 쓰이는 Bloc 에 대해서 포스팅 합니다.

 Provider 와 같이 관심사 분리를 위해 쓰이는 것은 동일하지만 Bloc 은 Provider 와 다르게 State와 Event를 분리하여 관리하고 있어 보다 견고한 느낌을 줍니다.

 하지만 견고한 만큼의 학습시간이 적지 않게 필요하며, Cubit 이 있긴 하지만 Bloc 은 Provider 와 다르게 한개의 로직을 짜는데 여러 클래스를 생성하고 보일러플레이트가 많습니다. 그렇기 때문인지 구글에서는 중규모 프로젝트에서는 Provider 를, 대규모 프로젝트에서는 Bloc 을 권장합니다.

 

Bloc의 장단점을 간단하게 정리하자면 

  • 장점
    1. 유지보수성 향상
    2. TDD 용이 
  • 단점
    1. 복잡한 구조
    2. 학습시간 길게 필요

 Bloc 은 공식문서가 굉장히 잘 구성되어 있어서 조금의 시간을 들인다면 익숙하게 사용할 수 있다고 생각합니다.

 

 

Bloc State Management Library

Official documentation for the bloc state management library. Support for Dart, Flutter, and AngularDart. Includes examples and tutorials.

bloclibrary.dev

 

 

 

flutter_bloc | Flutter Package

Flutter Widgets that make it easy to implement the BLoC (Business Logic Component) design pattern. Built to be used with the bloc state management package.

pub.dev

 

728x90
반응형