React NativeはJavaScriptとネイティブコードを実行し、これらが通信する必要があります。元のアーキテクチャは非同期のブリッジを使用していました。新しいアーキテクチャ(JSI、TurboModules、Fabric)はより高速な同期通信を実現します。このアーキテクチャを理解することで、React Nativeの動作とパフォーマンスが明確になります。
元のアーキテクチャ:ブリッジ
React Native runs:
→ a JS THREAD (your React/JS code) and the NATIVE side (UI, native modules)
→ they communicate over a BRIDGE: messages are SERIALIZED (to JSON), passed ASYNC,
and deserialized on the other side
Limitations:
✗ ASYNCHRONOUS only (can't call native synchronously)
✗ SERIALIZATION overhead; the bridge can be a BOTTLENECK with heavy traffic
✗ e.g. fast scrolling/animations passing data over the bridge → jank
