피드로 돌아가기
Dev.toFrontend
원문 읽기
Module Federation을 통한 RN 배포 결합도 제거 및 독립적 런타임 로딩 구현
Why Module Federation in React Native
AI 요약
Context
단일 번들 기반의 React Native 아키텍처는 모든 기능을 하나의 바이너리로 묶어 배포함. 이로 인해 특정 기능의 수정만으로도 전체 앱의 재빌드와 스토어 심사 과정이 강제되는 배포 병목 현상이 발생함.
Technical Solution
- Host Shell과 Remote Feature로 역할을 분리하여 런타임에 CDN 기반의 동적 로딩 구조 설계
- React, Navigation 등 중복 라이브러리를 Host에서 Shared Singleton으로 제공하여 Remote 페이로드 최적화
- 네트워크 단절 상황에 대비한 Embedded Fallback 복사본을 바이너리에 포함하여 가용성 확보
- Re.Pack(Rspack) 기반의 Module Federation 2.0을 적용하여 런타임 코드 분할 및 주입 체계 구축
- 버전 불일치로 인한 런타임 에러 방지를 위해 Host와 Remote 간의 Shared Library 버전 계약(Contract) 정의
- 보안성 확보를 위해 전송되는 Remote 코드에 대한 서명(Signing) 및 검증 프로세스 도입
실천 포인트
- 여러 팀이 하나의 릴리즈 트레인에서 병목을 겪고 있는지 측정 - 플랫폼 전담 인력이 CDN, 서명, 버전 계약 및 폴백 레이어를 지속적으로 관리할 수 있는지 검토 - 단순한 초기 구동 속도 개선이 목적이라면 Full Federation 대신 Async Chunk 기반의 Code Splitting 우선 고려 - 구형 앱 버전 사용자를 위해 API 하위 호환성 유지와 동일한 수준의 Remote 버전 관리 전략 수립