목록 보기
Flutter 클린 아키텍처: 작은 앱부터 대규모 프로젝트까지 맞춤 설계
아키텍처

Flutter 클린 아키텍처: 작은 앱부터 대규모 프로젝트까지 맞춤 설계

라인
라인
2024년 11월 1일

두줄요약

Flutter 앱을 단계적으로 확장하며 클린 아키텍처로 발전시키는 과정을 소개했습니다. 작은 프로젝트에서는 과할 수 있지만 대규모 프로젝트에서는 유지보수와 테스트에 유리했습니다.

핵심 내용

  • Flutter 앱 구조를 작은 단계부터 클린 아키텍처로 확장해 가는 과정 정리
  • View-ViewModel-Repository-UseCase-Entity로 역할을 분리하며 중복, 동기화, 테스트 문제를 완화
  • 작은 프로젝트에는 과도할 수 있으나 대형 프로젝트에서는 변경 용이성과 테스트성 향상에 유리

구조와 흐름

  • 초기에는 View가 서버 요청과 화면 구성을 함께 담당해 책임이 과도하게 집중
  • View와 ViewModel 분리 후 Repository 추가로 데이터 중앙 관리와 화면 동기화 개선
  • Repository 인터페이스 분리, Model과 Entity 분리, UseCase 도입으로 의존성 정리

선택 이유

  • 화면 추가와 즐겨찾기 같은 공통 기능에서 코드 중복과 상태 동기화 문제 해소
  • 서버 모델 변경이나 테스트용 목 구현체 교체에 유연하게 대응
  • 여러 Repository와 복합 비즈니스 로직을 한 곳에서 관리하기 위한 흐름 정리

주의할 점

  • 규모가 작은 프로젝트에서는 오히려 복잡도만 높아질 수 있음
  • 4단계 이후부터는 인터페이스 수가 늘어 구조의 필요성을 체감하기 어려울 수 있음
  • 프로젝트 규모와 인원 수를 고려한 단계적 도입이 중요함

다음 읽기

#Flutter 주제를 다룬 다른 회사 글

배달의민족 주문접수 채널에 Flutter를 도입하며 고민한 것

Flutter와 Clean Architecture로 주문접수 채널의 멀티 플랫폼 확장성과 유지보수성을 높인 사례를 소개했습니다. 또한 웹뷰 기반 전환으로 배포 속도와 긴급 대응력을 개선하려는 방향을 설명했습니다.

우아한 형제들
우아한 형제들
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...