The most recent version, React Native 0.70, maintains the new React Native architecture and offers several improvements. Continue reading to find out what's new and, more importantly, why it all matters.
The default JavaScript engine is now Hermes: A robust JavaScript engine created especially for React Native is called Hermes. It has always been available, but at first, it was an add-on that had to be installed and configured individually when making a React Native project. Beginning with version 0.69, Hermes was included with React Native, making it simple to activate and use while also making it simpler to maintain consistency with the rest of the framework.
The native JavaScript engines on each platform are substantially slower and consume more memory than the Hermes engine. Because the engine had to be installed and configured separately in the past, many apps did not use it. Hermes has been around for a long, but by making it the default configuration in 0.70, React Native apps will get a big performance boost. If you already have an app but haven't yet activated it, getting Hermes enabled and taking advantage of the performance benefits is worth the effort.
See the blog post on the announcement for more details, including benchmarks showing the huge speed increases made available by Hermes.
Version 0.70 also includes several improvements that improve the build and development processes for React Native, especially when using the new architecture.
Auto-linking is a crucial stage in the React Native development process. It enables us to incorporate native code into applications utilising JavaScript modules using a package manager like yarn or npm. Before this release, new architecture libraries on Android needed manual linking; however, as of 0.70, both iOS and Android fully allow auto-linking.
This update will be of relevance to most library authors that create bindings between JavaScript and native code. To automatically generate native code bindings from JavaScript specs, React Native leverages Codegen. Before the current release, Codegen required various configurations for iOS and Android; however, as of 0.70, the configurations have been merged, simplifying the integration with the native code process.
All these changes have considerably enhanced the development workflow, especially for those making Android apps. The most significant benefit is that it improves consistency across iOS and Android's build and development processes, enabling React Native to fully realise its potential as a seamless cross-platform development environment.
React Native upgrades can be a little difficult because changes are periodically needed in several locations, including the build files for Android and iOS. The best tool to use for upgrading a React Native project is the React Native Upgrade Helper, which shows the exact file differences between your current version and the target version. Additionally, look over the documentation, giving close attention to the section on converting to the new architecture. Although using the new design is made simpler with each RN release, it's still a good idea to be aware of the changes and how they can affect your particular application.
Recap: Significant Modifications to the New React Native Architecture
Even though there aren't many noteworthy new end-user features in React Native 0.70, improved support for the new architecture is the key priority. The new architecture was under development for a while, and it was progressively put into use through a succession of React Native releases. It's fantastic to see that it is now activated by default in an increasing number of new releases!
I find the new architecture work fascinating and impressive, especially in light of some of the performance issues with earlier versions of React Native. The React Native team has explicitly addressed these difficulties in the new architectural design.