Why the New Architecture Replaced the Bridge
motivation for the New Architecture.
the old bridge was async, serialized to JSON, and a single batched channel causing latency; JSI replaces it with direct synchronous C++ interop.
WHAT THIS TESTS Whether you can articulate the concrete bottleneck of the bridge and why direct interop was the fix.
A GOOD ANSWER COVERS In the legacy architecture, the JavaScript and native worlds communicated exclusively through a bridge, a single asynchronous channel. Every call, whether invoking a native module or updating the UI, was serialized into JSON, placed in a queue, and delivered asynchronously in batches. This design had several problems: it was always asynchronous, so synchronous interactions like measuring a view during layout were impossible; serialization added CPU and latency overhead; and because everything funneled through one channel, heavy communication, such as a fast scroll generating many events, congested the bridge and dropped frames. The New Architecture's primary motivation was to remove this bottleneck. Its foundation, JSI, lets JavaScript hold direct references to native C++ host objects and call them synchronously without any JSON serialization or message queue. This unlocks synchronous calls, lower latency, lazy native module loading via TurboModules, and a concurrent renderer in Fabric, while also decoupling React Native from a single JavaScript engine.
COMMON WRONG ANSWERS Listing only the new names, JSI, Fabric, TurboModules, without explaining the serialization and single-channel bottleneck they fix. Saying the bridge was simply slow rather than identifying the async-only and JSON-serialization constraints. Claiming the change is mainly about developer ergonomics.
LIKELY FOLLOW-UPS Give a concrete scenario where the async bridge dropped frames. How JSI enables synchronous measurement. Why decoupling from a specific JS engine matters.
ONE CONCRETE EXAMPLE During a fast scroll, the old bridge serialized a flood of scroll and layout messages into JSON and queued them, so updates lagged behind the finger and frames dropped. With JSI, the renderer reads and updates layout through direct synchronous C++ calls, eliminating that serialized queue and keeping scrolling responsive.
Read the original → reactnative.dev
Get five bites like this every day.
Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.