React Native ships with two JavaScript engines: the default JavaScriptCore (JSC) on iOS and Android, and the optional Hermes engine. Hermes compiles JavaScript to bytecode ahead‑of‑time, which reduces startup time, memory footprint, and improves overall frame rates—especially on low‑end Android devices. JSC still offers broader compatibility (e.g., newer ES features) but can be slower to parse large bundles. The trade‑off is usually worth it for production apps that target a wide Android audience, while iOS developers often stay on JSC because Hermes support is newer and may require extra testing.
// app.json (or expo-config.ts)
{
"expo": {
"jsEngine": "hermes",
"android": { "enableHermes": true },