배달의민족 주문접수 채널에 Flutter를 도입하며 고민한 것
프론트엔드
배달의민족 주문접수 채널에 Flutter를 도입하며 고민한 것
두줄요약
Flutter와 Clean Architecture로 주문접수 채널의 멀티 플랫폼 확장성과 유지보수성을 높인 사례를 소개했습니다. 또한 웹뷰 기반 전환으로 배포 속도와 긴급 대응력을 개선하려는 방향을 설명했습니다.
핵심 내용
- 배달의민족 주문접수 채널에 Flutter와 Clean Architecture를 도입한 배경과 아키텍처 설계 경험 공유
- 멀티 플랫폼 확장, 유지보수 효율, 일관된 UX를 위해 단일 코드베이스와 계층 분리를 선택
- 플랫폼별 차이는 공통 인터페이스와 구현 분리로 흡수하고, BLoC은 상태 추적이 쉬운 Presenter로 활용
- 웹뷰 기반 컨테이너 앱 전환을 통해 긴급 버그 수정과 동시 배포 속도 개선을 추진
구조와 흐름
- DTO → Entity → UI State로 데이터 변환 계층을 분리해 타입 안정성과 변경 격리 확보
- Domain의 UseCase에 비즈니스 로직을 두고, BLoC은 UI 상태와 이벤트 흐름만 담당
선택 이유
- 플랫폼별 구현 차이와 외부 의존성을 추상화 기준에 따라 제한적으로 분리
- 테스트 가능성, 재사용성, 팀 학습 곡선, 유지보수성을 중시한 기술 선택
