React Native는 통신해야 하는 JavaScript와 네이티브 코드를 실행합니다. 원래 아키텍처는 비동기 bridge를 사용했고, 새 아키텍처(JSI, TurboModule, Fabric)는 더 빠른 동기 통신을 가능하게 합니다. 이를 이해하면 React Native의 동작과 성능이 명확해집니다.
원래 아키텍처: bridge
React Native가 실행하는 것:
→ JS 스레드 (React/JS 코드)와 네이티브 측 (UI, native module)
→ 이들은 BRIDGE로 통신함: 메시지가 (JSON으로) 직렬화되어, 비동기로 전달되고,
반대편에서 역직렬화됨
한계:
✗ 비동기 전용 (네이티브를 동기로 호출 불가)
✗ 직렬화 오버헤드; bridge는 무거운 트래픽 시 병목이 될 수 있음
✗ 예: 빠른 스크롤/animation이 bridge로 데이터를 전달 → jank
