React Native chạy code JavaScript và native phải giao tiếp với nhau. Kiến trúc gốc dùng một bridge bất đồng bộ; kiến trúc mới (JSI, TurboModule, Fabric) cho phép giao tiếp đồng bộ, nhanh hơn. Hiểu điều này làm rõ hành vi và hiệu năng của React Native.
Kiến trúc gốc: bridge
React Native chạy:
→ một JS THREAD (code React/JS của bạn) và phía NATIVE (UI, native module)
→ chúng giao tiếp qua một BRIDGE: thông điệp được SERIALIZE (thành JSON), truyền BẤT ĐỒNG BỘ,
và deserialize ở phía bên kia
Hạn chế:
✗ Chỉ BẤT ĐỒNG BỘ (không thể gọi native đồng bộ)
✗ Chi phí SERIALIZATION; bridge có thể là BOTTLENECK khi lưu lượng nặng
✗ ví dụ cuộn nhanh/animation truyền dữ liệu qua bridge → giật
