What JSI changed
Prerequisites: 01-three-layers
What JSI changed — mechanism
Mental model verified
The legacy bridge queued serialized messages between JS and native. In the New Architecture, JSI lets JS interact with C++ host objects through an engine-independent interface. Native module frameworks build typed or declarative APIs above it.
[S01] [S07]Worked example synthesis
A synchronous getCachedValue() may return a small cached scalar. A synchronous readHugeFile() would block the JS caller until I/O finishes; put I/O in an asynchronous function. This is an illustrative design example.
[S07]Engineering choice synthesis
Keep synchronous APIs bounded and predictable. Pass identifiers or handles for large native assets where a library supports them; measure conversion and end-to-end latency rather than guessing from call count.
[S01] [S07]Pitfall and next step synthesis
“Zero-copy everywhere” is false: JSI permits native references but APIs can still convert or copy values. Profile the real path and check ownership and lifetime of referenced native data.
[S01] [S07]Check yourself: Does “no old bridge” mean there is no boundary cost?
No. JSI avoids mandatory JSON-style message serialization, yet conversion, allocation, locks, scheduling and native work can still cost time.