Does Expo Use Hermes?

If you are a mobile app developer who is interested in using Expo, you might be wondering whether the platform uses Hermes or not. In this article, we will explore what Hermes is and whether Expo utilizes it or not.

What is Hermes?

Hermes is an open-source JavaScript engine that is optimized for mobile apps. It was developed by Facebook to improve the performance of React Native apps. The primary goal of Hermes is to reduce the startup time of mobile apps and make them more responsive.

How does Hermes work?

Hermes works by precompiling JavaScript code into bytecode during the build process. This bytecode can be loaded and executed more quickly than uncompiled code, which results in faster startup times for mobile apps.

Does Expo use Hermes?

The answer to this question is yes and no. Expo supports both Hermes and the default JavaScript engine that comes with React Native, which is called JavaScriptCore.

Expo provides developers with a choice between these two engines when they create a new project. By default, Expo uses JavaScriptCore because it has better compatibility with third-party libraries.

However, if you want to use Hermes instead, you can easily switch to it by running a single command in your terminal:

expo customize:android –use-manifest-mods –set HERMES_ENABLED=true

This command will enable Hermes in your Expo project for Android devices.

It’s important to note that enabling Hermes might not always result in better performance. The impact of using Hermes on your app’s performance may vary depending on your app’s specific use case and the device it’s running on.

Conclusion

In conclusion, yes – Expo does support the use of Hermes but only as an optional feature. Developers who are interested in using it can easily switch to it by running a single command in their terminal. However, it’s important to keep in mind that enabling Hermes might not always result in better performance and that the impact will vary depending on your app’s specific use case and the device it’s running on.