React Native · Mobile UI at native speed
What is React Native's new architecture?
Short answer
The new architecture replaces the bridge with JSI, uses Fabric for rendering and TurboModules for native modules, and generates typed glue code. It enables synchronous measurement, lazy modules and React concurrent features.
The new architecture is a set of changes rather than one feature. JSI provides a direct C++ interface to JavaScript. Fabric is the new renderer built on an immutable shadow tree. TurboModules replace legacy native modules with lazy, typed loading. Codegen generates the interfaces between JavaScript and native.
What changes for app developers
- Native modules are defined by a TypeScript spec and generated glue
- Layout can be measured synchronously, which helps lists and layout-dependent logic
- Concurrent React features can interrupt and prioritise rendering work
- Modules load lazily, reducing startup and memory overhead
- Bridgeless mode removes the legacy bridge entirely
{
"codegenConfig": {
"name": "AppSpecs",
"type": "modules",
"jsSrcsDir": "specs",
"android": { "javaPackageName": "com.example.specs" }
}
}Migration is mostly about dependencies. Most popular libraries now support the new architecture, but older or unmaintained native modules may rely on the bridge. The interop layer can keep some legacy modules working, but it does not give them the performance or typing benefits of a rewritten module.
Follow-ups you should expect
Interviewers use these to check whether the first answer was understanding or memorisation.
- 1What is the difference between Fabric and the old renderer?
- 2How does codegen work?
- 3What is bridgeless mode?
- 4How do you migrate a legacy native module?
Say it in the interview
The new architecture replaces the async bridge with JSI and adds Fabric for rendering and TurboModules for native modules, with codegen producing typed glue. The practical benefits are synchronous layout measurement, lazy module loading and support for concurrent React. Migration is mostly a dependency audit, and I test release builds on both platforms because legacy native modules can behave differently under the new renderer.
Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.
Related questions
Reading is step one
Now say it out loud.
Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live React Native mock interview and get scored feedback on depth, clarity and confidence.