flutter-widget-ui
Installation
SKILL.md
Flutter 위젯 UI 패턴
핵심 원칙
UI는 바보다. Screen 위젯은 state 와 onAction 을 받아 렌더링과 사용자 인터랙션만 담당한다. 비즈니스 로직, 데이터 변환, 네트워크 호출은 전부 ViewModel/UseCase/Data 레이어에서 끝난다. Screen 안에는 로직이 없어야 테스트와 디자인 리뷰가 쉬워진다.
StatelessWidget을 기본으로
이 프로젝트의 거의 모든 화면은 StatelessWidget 이다. 상태는 ViewModel(ChangeNotifier)이 보관하고 ListenableBuilder 가 구독한다. StatefulWidget 은 다음 경우에만 쓴다:
- 위젯 생애주기 안에서만 의미 있는 로컬 UI 상태 (
TextEditingController,ScrollController,TabController, 애니메이션 컨트롤러). initState/dispose가 꼭 필요한 구독·리소스 초기화.
앱 전반 상태는 전부 ViewModel 로 옮긴다.