5 exercises on React Native internals and tooling for mobile development.
0 / 5 completed
1 / 5
In React Native, what is the bridge?
The bridge is the traditional communication layer connecting React Native's JavaScript thread to the native iOS/Android threads. Messages — like UI updates and native method calls — are serialized to JSON and passed asynchronously in batches across this boundary. While it decouples JS from native, the bridge's serialization overhead can bottleneck high-frequency interactions. The newer architecture replaces it with JSI (JavaScript Interface), which lets JavaScript hold direct references to native objects and call them synchronously, alongside Fabric and TurboModules.
2 / 5
What is a native module in React Native?
A native module is platform-specific code (Objective-C/Swift on iOS, Java/Kotlin on Android) that exposes functionality to JavaScript which is not available in the standard React Native API — for example accessing Bluetooth, a payment SDK, or device sensors. The native code registers methods that JS can invoke, and results return asynchronously through the bridge or JSI. Many community packages ship as native modules. In the new architecture these become TurboModules, which are lazily loaded and called more efficiently via JSI.
3 / 5
What is the Metro bundler?
Metro is the JavaScript bundler purpose-built for React Native. It takes your entry file, resolves the module dependency graph, transforms the code (via Babel) for the JS engine, and produces a single bundle the app loads. During development Metro runs a server enabling fast refresh, so edits appear almost instantly without losing component state. It supports features tuned for mobile such as inline requires for faster startup and platform-specific file extensions (.ios.js, .android.js) for branching code per platform.
4 / 5
What is Hermes in React Native?
Hermes is an open-source JavaScript engine that Meta built specifically for React Native. Instead of parsing JavaScript at runtime, Hermes precompiles source into compact bytecode ahead of time, dramatically improving app startup time, reducing memory usage, and shrinking the download size — especially valuable on lower-end Android devices. It is the default engine in modern React Native versions. Hermes also offers improved debugging and profiling tooling integrated with the platform.
5 / 5
What is Expo in the React Native ecosystem?
Expo is a framework and set of tools layered on top of React Native that removes much of the native build friction. With the managed workflow you write only JavaScript while Expo provides prebuilt native modules (camera, location, notifications) and handles building in the cloud via EAS. Over-the-air updates let you push JS changes without an app-store review. When you need custom native code you can use a development build or "eject" to bare workflow, retaining full native control while keeping Expo libraries.