React Native interview question · Most asked
What is the React Native New Architecture?
Summary
The replacement for the old asynchronous JSON bridge, default since React Native 0.76: JSI for direct JS-native calls, Fabric for rendering, and TurboModules for lazily loaded, typed native modules.
Longer Answer
- JSI (JavaScript Interface) lets JavaScript hold references to C++/native objects and call them directly, synchronously where needed, without serialising messages to JSON.
- Fabric is the new renderer with a shared C++ core, enabling synchronous layout when needed and React's concurrent features.
- TurboModules are native modules loaded on demand and called through JSI, with interfaces generated from typed specs by Codegen.
Key Points
- Old bridge: async, batched JSON messages.
- JSI: direct calls, no serialisation.
- Fabric: new rendering system.
- TurboModules + Codegen: lazy, type-safe native modules.
Deep dive: Mobile Apps with React Native and Expo: How React Native Works
Explanation
What interviewers look for
Accurate names and roles for JSI, Fabric and TurboModules, and what problem the old bridge had.
Follow-up questions
- What does Codegen generate?
- How does the New Architecture help startup time?
More most-asked React Native questions
- What is React Native, and how does it differ from a hybrid (WebView) app?
- Explain the React Native threading model.
- When would you use FlatList instead of ScrollView, and how do you make long lists fast?
- Where should you store data on the device, and what should never go in AsyncStorage?
- How would you make a React Native app work offline?
- How do you handle authentication tokens in a mobile app?
- A screen in your React Native app is slow. How do you investigate and fix it?
- What can be shipped with an over-the-air (OTA) update, and what can't?