반응형
SMALL

flutter bloc 3

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
LIST