React Native · Mobile UI at native speed
What is Hermes and why does React Native use it?
Short answer
Hermes is a JavaScript engine optimised for React Native. It precompiles JavaScript to bytecode at build time, which improves startup, reduces memory and gives predictable performance on mobile devices.
Hermes is the default engine for React Native. Unlike a browser engine tuned for peak throughput with a JIT, Hermes prioritises fast startup and low memory on constrained devices. It compiles the bundle to Hermes bytecode during the build, so the device does less parsing and compilation at launch.
Trade-offs
- Faster cold start because bytecode loads instead of parsing source
- Lower memory use, which matters on mid-range Android devices
- No JIT, so long-running CPU-heavy JavaScript may be slower than on V8
- Bytecode is version-specific; the engine and bytecode must match
- Debugging uses the Hermes inspector protocol through React Native DevTools
Build: app.js -> hermesc -> app.hbc
Runtime: load app.hbc -> execute bytecode -> renderBecause Hermes has no JIT, heavy pure-JavaScript computation can be slower than on a browser engine. Move that work to native code, a background thread or the server when it is on a critical path. Most app code is I/O and UI bound, so the startup and memory wins usually outweigh the lack of JIT.
Follow-ups you should expect
Interviewers use these to check whether the first answer was understanding or memorisation.
- 1Does Hermes have a JIT compiler?
- 2What happens to the bundle during a Hermes build?
- 3When might Hermes be slower than V8?
- 4How does Hermes affect over-the-air updates?
Say it in the interview
Hermes is the JavaScript engine built for React Native. It compiles the bundle to bytecode at build time, so launch does less parsing and uses less memory, which is a big win on mid-range Android. It does not have a JIT, so heavy CPU-bound JavaScript can be slower than on V8; I move that work to native code or the server when it matters. Otherwise the startup and memory trade-off is usually worth it.
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.