The New Architecture (Fabric renderer, TurboModules, and JSI replacing the asynchronous bridge) is now the default in recent React Native releases. The migration is mostly about your dependencies: the framework is ready, but third-party native modules need to support it.
Key takeaways
- Audit third-party native dependencies before enabling the new architecture.
- Migrate incrementally and keep release rollback paths available.
- Test startup, navigation, animations, and native modules on both platforms.
What changes under the hood
JSI lets JavaScript hold direct references to native objects, removing the serialized, asynchronous bridge. TurboModules load native modules lazily and call them synchronously when needed; Fabric is a new rendering system with better interop with the host platform's layout and concurrent React features.
For most app code the API surface is unchanged — the wins are faster startup, lower latency on native calls, and smoother UI. The cost is that any native module you depend on must be New Architecture compatible.
Migrate safely
First, audit every native dependency for New Architecture support; the React Native directory and each library's docs list compatibility. Replace or update anything that is not ready before flipping the flag.
Enable it behind a build flag, then test cold start, navigation, animations, gestures, and each native module on both platforms with release builds. Keep a rollback path — the previous build configuration — until production telemetry on crashes, ANRs, and startup time confirms the migration is stable.