Skip to main content

Hermes as the Default

· 5 min read
Michael Leon
Michael Leon
Software Engineer at Meta

Last October, we announced that we had started work towards making Hermes the default engine for all React Native apps.

Hermes has provided a lot of value to React Native inside of Meta, and we believe the open-source community will benefit as well. Hermes is designed for resource constrained devices and optimizes for start up, app size, and memory consumption. One key difference between Hermes and other JS engines is its ability to compile JavaScript source code to bytecode ahead of time. This precompiled bytecode is bundled inside the binary, and saves the interpreter from having to perform this expensive step during app startup.

Since the announcement, a lot of work has gone into making Hermes better, and today, we are excited to share that React Native 0.70 will ship with Hermes as the default engine. This means that all new projects starting on v0.70 will have Hermes enabled by default. With the rollout coming up in July, we want to work closely with the community and make sure the transition is smooth and brings value to all users. This blogpost will go over what you can expect from the change, performance benchmarks, new features, and more. Note that you don’t need to wait for React Native 0.70 to start using Hermes - you can follow these instructions to enable Hermes on your existing React Native app.

Note that while Hermes will be enabled by default in new React Native projects, support for other engines will continue.

Helping migrate React Native libraries to the New Architecture

· 6 min read
Riccardo Cipolleschi
Software Engineer at Meta

tl; dr: We are working on improving the resources supporting the React Native New Architecture. We have already released a repository to help migrate your app (RNNewArchitectureApp) and one for your libraries (RNNewArchitectureLibraries). We are also revamping the New Architecture guide on the Website and we created a GitHub Working Group to answer questions related to the New Architecture.

React Native Accessibility - GAAD 2022 Update

· 3 min read
Alex Tait
React Native Accessibility Community Manager

May 19th, 2022 marks the 11th annual celebration of Global Accessibility Awareness Day and we wanted to update everyone on the accessibility progress we’ve made on the React Native Framework. Meta (formerly Facebook) was the first organization to take the GAAD pledge in 2020, committing to making the React Native framework accessible.

“We hope this pledge makes it easier for developers using React Native to create fully accessible mobile apps and inspires other organizations to make similar commitments to a more accessible future.”

Mike Shebanek, head of accessibility Meta, 2020

The process initially began with a thorough review and gap analysis of the framework focused on React Native utilized the iOS and Android APIs to support accessibility features. Dozens of issues have since been fixed or closed out, making good on the pledge to make React Native accessible and advancing the accessibility of the framework ever forward.

We didn’t stop there, and in early 2022, we reviewed and prioritized the remaining issues from this gap analysis on the Improved React Native Accessibility Board based on their impact on developers and end users.

An update on the New Architecture Rollout

· 7 min read
Nicola Corti
Software Engineer at Meta

Hi everyone, As previously announced:

2022 is going to be the year of the New Architecture in open source

If you still haven’t had the time to look into the New React Native Architecture (the Fabric Renderer and the TurboModule system), there is no better time to do it than now!

We would like to share with the community some initiatives and material we prepared to make sure everyone is onboard on this endeavor.

Toward Hermes being the Default

· 12 min read
Xuan Huang
Software Engineer at Meta

Since we announced Hermes in 2019, it has been increasingly gaining adoption in the community. The team at Expo, who maintain a popular meta-framework for React Native apps, recently announced experimental support for Hermes after being one of the most requested features of Expo. The team at Realm, a popular mobile database, also recently shipped its alpha support for Hermes. In this post, we want to highlight some of the most exciting progress we've made over the past two years to push Hermes towards being the best JavaScript engine for React Native. Looking forward, we are confident that with these improvements and more to come, we can make Hermes the default JavaScript engine for React Native across all platforms.