본문 바로가기
Mobile2026년 5월 29일3분 읽기

React Native 0.78 New Architecture — Fabric + TurboModules 마이그레이션 1년

YS
김영삼
조회 199
React Native 0.78 New Architecture — Fabric + TurboModules 마이그레이션 1년

핵심 요약

RN 0.78에서 New Architecture(Fabric + TurboModules + JSI)가 default. 사내 앱 3개 1년 운영 — 앱 시작 시간 1.8s → 1.04s, FlatList 60fps 안정, 메모리 -28%. 라이브러리 호환은 80%, 나머지 20%는 patch-package 또는 fork.

1. New Architecture 핵심 변화

  • Fabric — 새 렌더링 엔진. 동기 layout, concurrent React 호환
  • TurboModules — Native module 호출이 JSI 직결, JSON bridge 제거
  • Codegen — TypeScript 정의 → C++/Java/ObjC interface 자동 생성
  • Hermes 0.20 — JS 엔진 안정성 + 메모리 -25%

2. 활성화

// 0.78부터 default true
// android/gradle.properties
newArchEnabled=true
hermesEnabled=true
// ios/Podfile
ENV['RCT_NEW_ARCH_ENABLED'] = '1'

3. 실측

지표OldNew
Cold start (Pixel 8)1.8s1.04s
FlatList 1000 items 스크롤42fps60fps
Native call (per call)1.4ms0.18ms
Memory (active)142MB102MB

4. 라이브러리 호환 상태

  • ✅ React Navigation, Reanimated 4, FastImage, Lottie, Bluetooth Classic
  • ⚠️ AsyncStorage(MMKV로 대체 권장), 일부 push notification SDK
  • ❌ legacy WebView module (Reanimated 호환 fork 필요)

5. 함정

  • Old + New 라이브러리 혼용 — interop layer가 자동이지만 미세 동작 다름, codegen 미대응 라이브러리 패치
  • iOS Pod resolution — pod install 시 use_frameworks! :linkage => :static 필수, 안 그러면 빌드 실패
  • Hermes vs JSC — JSC에서 잘 동작하던 코드(Date 처리)가 Hermes에서 미세 차이
  • TypeScript codegen 캐시 — yarn cache clean + iOS DerivedData 삭제 필수

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록