Hot Reload & Hot Restart

Flutter 개발 속도를 10배 높이는 핵심 기능

Hot Reload는 변경된 Dart 코드만 VM에 주입하여 앱 상태를 유지하면서 UI를 즉시 갱신합니다. 앱을 재시작하지 않아도 되므로 UI 미세 조정 시 압도적으로 빠릅니다.

Hot Restart는 앱 상태를 초기화하고 전체를 다시 빌드합니다. 상태 변경이 필요할 때 사용합니다.

Hot Reload가 동작하지 않는 경우: main() 함수 변경, enum 추가/삭제, 제네릭 타입 변경 등.

구현 순서

1

flutter run으로 앱 실행 (디버그 모드)

2

UI 코드 수정 후 저장 (Ctrl+S / Cmd+S) → 자동 Hot Reload

3

상태 리셋 필요 시 Hot Restart (Shift+R)

4

Hot Reload 실패 시 → Hot Restart 또는 풀 리빌드

장점

  • 네이티브 개발 대비 개발 속도 5~10배 향상
  • 앱 상태를 유지하면서 UI 변경 가능

단점

  • 일부 변경사항은 Hot Reload 불가 (Hot Restart 필요)
  • 프로덕션 빌드(AOT)에서는 사용 불가

사용 사례

UI 디자인 미세 조정 (색상, 간격, 폰트 등) 실시간 레이아웃 디버깅