KMP/CMP 마이그레이션, 정말 프로덕션에서 가능할까? - 키친보드 앱 마이그레이션 도전기
8
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 KMP/CMP 마이그레이션 과정에서 WebView 상태 유실 문제를 커스텀 네비게이션 아키텍처로 해결한 사례를 공유드리는 글입니다.

요약

  • Compose Navigation의 Recomposition으로 WebView가 리로딩되어 폼 데이터 손실, 스크롤 초기화, 불필요한 네트워크 요청 발생
  • 해결책으로 FragmentManager(Android)와 UINavigationController(iOS) 기반의 커스텀 네비게이션 아키텍처 설계
  • 타입 안전한 NavDestination/NavScreen과 expect/actual 기반 Navigator로 플랫폼 추상화 구현
  • 각 화면을 독립적인 Compose 트리로 보존하여 상태 유지, launchMode 처리와 동적 트랜지션 지원
  • ScreenResult의 Pending→Commit 패턴과 전역 Registry, MutableSharedFlow(buffer=1)로 안전한 화면 간 결과 전달 보장
  • 결론: KMP/CMP 생태계 제약에도 네이티브 해법으로 프로덕션 마이그레이션 가능함

연관 게시글