Stacked - Overview

김례원·2025년 7월 6일

Flutter

목록 보기
1/12
post-thumbnail

✅ Stacked 프레임워크 개요

Stacked는 Flutter 앱 개발에서 구조화된 코드와 생산성을 높이기 위해 만든 MVVM 아키텍처 기반 프레임워크입니다.


🔧 왜 Stacked를 사용할까?

  • 비즈니스 로직과 UI를 분리하여 깔끔한 코드 유지 가능
  • 재사용성이 뛰어난 ViewModel 기반 구조
  • 의존성 주입, 네비게이션, 다이얼로그, BottomSheet, Form 관리 등 실무에서 자주 쓰는 기능들을 통합 제공
  • 프로젝트를 확장하기 쉽고 유지보수하기 좋게 설계

🏗️ 주요 개념 요약

개념설명
ViewUI를 담당. ViewModel과 연결됨.
ViewModel상태/비즈니스 로직 담당. View와 분리되어 테스트 용이
Services네트워크, 저장소 등 독립적인 기능 구현
NavigationService네비게이션을 어디서든 사용할 수 있게 도와주는 서비스
DialogService사용자에게 모달/알림을 쉽게 띄울 수 있는 기능
BottomSheetServiceBottom Sheet를 MVVM 방식으로 구현 가능

🚀 핵심 패키지들

  • stacked
  • stacked_services
  • stacked_generator + build_runner (코드 자동 생성)

📁 기본 프로젝트 구조 예시

lib/
 ├── app/                # 의존성 주입 설정 등
 ├── ui/
 │   ├── views/          # 각 화면(View + ViewModel)
 │   ├── widgets/        # 공통 위젯
 ├── services/           # API, DB 등 비즈니스 로직
 └── main.dart

⚙️ 어떤 기능이 있나?

  • @FormView: 자동 Form 관리
  • @ReactiveServiceMixin: 리액티브 서비스 만들기
  • @Route: 네비게이션 라우팅 정의
  • FutureViewModel, StreamViewModel: 비동기 ViewModel 처리 쉽게 지원

✅ 요약

Stacked는 Flutter의 구조화된 앱 개발을 도와주는 MVVM 프레임워크로, 유지보수성과 생산성을 높이는 데 매우 효과적인 도구입니다.
초기 설정만 하면 이후부터는 View-ViewModel-Service의 분리된 구조 덕분에 협업과 테스트, 유지보수가 쉬워집니다.


출처 : Stacked 공식 문서 - Overview

profile
분야를 가리지 않는 개발자

0개의 댓글