React Native Blog Jul 8, 2022

Hermes Engine Becomes React Native Default

Article Summary

React Native just made a massive default change that could speed up your app launches and shrink your bundle size. Here's what the benchmarks show.

Meta announced that Hermes is now the default JavaScript engine for React Native 0.70+. Unlike traditional JS engines, Hermes compiles JavaScript to bytecode ahead of time, optimizing for faster startup, smaller app size, and lower memory usage on resource-constrained devices.

Key Takeaways

Critical Insight

React Native 0.70 ships with Hermes as default, bringing ahead-of-time bytecode compilation to improve startup performance and reduce app size without forcing migration.

The team solved a long-standing ABI compatibility problem that's been causing headaches with every new React Native release.

About This Article

Problem

React Native relied on prebuilt Hermes binaries, which caused API and ABI incompatibilities between versions. Developers kept running into compatibility issues.

Solution

Meta changed how they build Hermes starting in React Native 0.69. Now Hermes compiles with every React Native release, so the versions stay in sync and mismatches don't happen.

Impact

Teams can iterate faster on features and bug fixes. They can deploy major Hermes changes without worrying about breaking compatibility across different platforms.