핵심 요약
스포카가 KMP/CMP 마이그레이션 과정에서 WebView 상태 유실 문제를 커스텀 네비게이션 아키텍처로 해결하고, 플랫폼 간 코드 공유를 70% 이상 달성하며 100% 네이티브 성능을 유지한 사례를 공유합니다.
구현 방법
- 타입 안전 네비게이션: NavDestination와 NavScreen으로 화면 정의 및 데이터 흐름 구성
- 플랫폼 추상화: Navigator 인터페이스와 expect/actual로 Android(FragmentManager)와 iOS(UINavigationController) 연결
- WebView 이슈 해결 및 데이터 전달: 독립적인 Compose 트리 유지, 백스택 관리, 2단계 ScreenResult로 안정적 결과 전달
주요 결과
- 모든 핵심 기능의 KMP/CMP 구현 가능 여부를 검증
- 플랫폼 간 코드 공유 70% 이상 및 100% 네이티브 성능 유지
- WebView 화면 상태 유지로 UX를 보전하는 백스택 관리 및 동적 트랜지션 제어

