반응형
SMALL

Flutter/Bloc 4

Bloc (3) - Cubit과 Bloc 코드로 이해하기

Cubit class Cubit extends BlocBase class CounterCubit extends Cubit { CounterCubit(int initialState) : super(initialState); } - Cubit은 BlocBase를 상속합니다. - Cubit 내부의 클래스로 관리할 상태 유형을 지정합니다. - 위와 같이 코드를 작성할 경우 다양한 초기 상태로 인스턴스화 할 수 있습니다. class CounterCubit extends Cubit { CounterCubit() : super(0); void increment() => emit(state + 1); } - state는 처음에 지정한 상태 유형의 값입니다. - emit을 통해 상태를 변환합니다. - emit은 Cubi..

Flutter/Bloc 2024.01.31

Bloc (2) - Cubit과 Bloc의 개념

Bloc을 이해하기 위해 Stream의 작동방식을 아는 것이 중요합니다. 간단한 비유를 들자면 물이 흐르는 파이프는 Stream이고 파이프 안에 흐르는 물은 비동기 데이터라고 말할 수 있을 것 같습니다. 순차적으로 값이 들어오는 일종의 For문 같은 느낌입니다. 아래 간단한 코드를 보겠습니다. Stream countStream(int max) async* { for (int i = 0; i < max; i++) { yield i; } } Future sumStream(Stream stream) async { int sum = 0; await for (int value in stream) { sum += value; } return sum; } void main() async { /// Initialize..

Flutter/Bloc 2024.01.23

Bloc (1) - Bloc 이란

Flutter의 상태 관리 라이브러리 중 Bloc에 대해서 알아보겠습니다. Bloc 공식 문서에 의하면 Bloc은 "간단하고, 가볍고, 높은 테스트 성능을 가진 상태 관리 라이브러리" 라고 소개하고 있습니다. 공식 문서 개요에도 나와있지만 Bloc은 Business Logic Component의 약자로 비즈니스 로직과 프레젠테이션(화면 구현) 코드를 철저히 구분하려는 느낌이 강한 라이브러리입니다. 2주 정도 사용해본 결과, GetX에 비해서 확실히 비즈니스 로직과 프레젠테이션이 철저히 구분되어 개발을 진행하는 느낌을 받았습니다. 비즈니스 로직을 구현할 때에도 Event와 State를 통해 모든 상황과 이벤트들을 사전에 기획하고 구현할 수 있다는 완전성과 다른 라이브러리의 의존이 높지가 않아서 Naviga..

Flutter/Bloc 2024.01.21

Bloc (0) - Bloc 배워보기

오랜만에 글을 다시 쓰려 왔습니다. Flutter의 상태 관리의 종류에는 StateFul ValueListenable Getx Provider Bloc Cubit Riverpod Mobx 상태 관리 패키지를 사용하지 않는 것까지 포함해서 이렇게 8개 정도가 있습니다. 저는 Getx를 계속해서 사용해왔는데 이번에 새롭게 리뉴얼할 프로젝트에 새로운 상태관리를 도입하여 관리 및 유지보수를 좀 더 용이하게 하려는 목적으로 공부하려 합니다. 사실 Getx에 대한 좋지 않은 평가가 마음에 걸려서 바꾸는 이유도 없지 않아 있습니다. " 개발하는 남자" 님의 블로그 글을 빌려 단점을 말해보자면 다음과 같습니다. ㉮ Document가 불편하고... 이슈도 많고 대응도 느리고... 상태관리 이외에도 많은 부분을 차지하고 ..

Flutter/Bloc 2024.01.09
LIST