New Architecture is here
React Native 0.76 introduces a New Architecture as default, enhancing performance with modern features, synchronous communication, and improved rendering. It has been successfully used in major apps like Facebook and Instagram.
Read original articleReact Native has released version 0.76, which introduces a New Architecture as the default. This update enhances support for modern React features such as Suspense, Transitions, and automatic batching, while also implementing a new Native Module and Native Component system that allows for type-safe code and direct access to native interfaces without the need for a bridge. The New Architecture is a comprehensive rewrite of React Native's core systems, addressing limitations of the previous architecture, particularly in terms of synchronous updates and performance bottlenecks. Key improvements include a new Native Module System that enables synchronous communication between JavaScript and native code, a revamped Renderer that supports multiple threads for rendering updates, and an Event Loop that prioritizes urgent user interactions. The removal of the bridge facilitates faster startup times and better error handling. This architecture has been successfully utilized in production by major applications like Facebook and Instagram. The update aims to provide a smoother migration experience for developers, with many popular libraries already compatible with the New Architecture.
- React Native 0.76 introduces a New Architecture by default, enhancing performance and capabilities.
- The update supports modern React features, including Suspense and Transitions.
- A new Native Module System allows synchronous communication between JavaScript and native code.
- The revamped Renderer supports multiple threads, improving responsiveness and reducing UI jank.
- The New Architecture has been successfully implemented in major applications like Facebook and Instagram.
Related
Understanding React Compiler
React's core architecture simplifies development but can lead to performance issues. The React team introduced the React Compiler to automate performance tuning by rewriting code. Transpilers like Babel convert JSX for efficiency. Compilers, transpilers, and optimizers analyze and produce equivalent code. React Compiler enhances functionality using Abstract Syntax Trees, memoization, and hook storage for optimized performance.
Enhancing New York Times Web Performance with React 18
The New York Times upgraded to React 18 for better performance and new features like Concurrent Mode and server-side rendering. Challenges with "embedded interactives" were overcome, leading to improved website performance.
Enhancing the New York Times Web Performance with React 18
The New York Times upgraded to React 18 for better performance and new features like Concurrent Mode and server-side rendering. Challenges with interactive content were overcome, resulting in improved site performance.
Migrating Coinbase's 56M Users to React Native: Key Lessons and Takeaways
Coinbase transitioned 56 million users to React Native, addressing performance challenges like re-rendering. Nick Cherry discussed platform-specific optimizations, Farcaster/Warpcast development, React Navigation, Expo benefits, and AI in front-end development. StepChange offers database modernization services.
Next.js 15 and Turbopack Dev (Stable)
Next.js 15 has been released, featuring stability improvements, breaking changes to caching and Async Request APIs, support for React 19, a new CLI for upgrades, and stable Turbopack Dev.
It was a mixed experience. When I migrated to expo two years ago, many problems were solved but not all.
But I still encounters bugs and problems with many common dependencies. It is not uncommon to have bugs on certain Android brands, with the community on github reporting the bug but waiting months for it to be fixed.
iOS is by far better and more stable than Android.
Performance is great on iOS, but less great on Android.
Our apps are animation heavy using react-native-reanimated and react-native-skia. Everything went perfect on iOS but we had to remove some animations or simplify them on Android.
Upgrading your dependencies every four months will probably break something somewhere : deep links stop working, some animations stop working, or maybe it's another dependency from the JS world. Sometime the fix is easy, other time an issue with the regression can be found on Github, other time we have no data.
Overall I'd say react-native is perfectly servicable and is easy to learn for anyone, which is a big plus. I'd recommend react-native because it is easy, have a big JS ecosystem, but I am now on the Flutter side.
1 person talking about how they wish react native didn't exist
1 person asking about Capacitor
1 person complaining about Expo
1 person saying that they wouldn't use react native and recommending Kotlin Multiplatform instead
1 person complaining about the quality of the discussion (Me)
0 people talking about the new architecture
I still love Hacker News but the discussions are becoming increasingly pointless.
All that's missing is:
1 person complaining about the style in which the article was written
When they emerged, the mobile development scene was completely different than today.
Today, we have Swift UI and Compose, both are pretty solid. I'm not sure if it's the consensus amongst mobile developers, but I believe that on the mid/long run you will be better off - even if you write things twice. In terms of end user experience, developer experience, and in the business sense, everywhere.
Sure if you have an Flutter / RN app that has years of engineering efforts invested into it, go ahead and continue (duh), but I wouldn't start new apps with them.
It's often times fine on iOS and then incredibly slow on Android. Hermes is very exciting but still requires many polyfills to make simple NPM packages work. I hope one day, the web (and embedding web apps on mobile) makes React Native fully obsolete.
The team has been able to progressively target the different platforms where needed with native modules and TS files targeting the arch. Expo's build plugins have also saved our bacon.
We've been pretty excited for the new architecture. Our early tests show a lot of performance benefits on android, and so far the conversion process has been pretty good.
Can't wait to try out the new arch when 0.76 lands in expo.
When react-strict-dom is totally ready for prime time it's going to be a game changer and react native will become an absolute juggernaut.
I think React Native was the go to place in the past but it has been surpassed now.
Also, I remember transferring lots of data through the bridge could be a bottleneck for some use cases. Is that effectively solved with this architecture?
Can I comprehend this as a new Virtual Native UI immutable tree running in native space?
And react native mounts and updates basically synchronally updating this immutable tree and reconciliation being done in native space, dynamically updating the app layout?
Related
Understanding React Compiler
React's core architecture simplifies development but can lead to performance issues. The React team introduced the React Compiler to automate performance tuning by rewriting code. Transpilers like Babel convert JSX for efficiency. Compilers, transpilers, and optimizers analyze and produce equivalent code. React Compiler enhances functionality using Abstract Syntax Trees, memoization, and hook storage for optimized performance.
Enhancing New York Times Web Performance with React 18
The New York Times upgraded to React 18 for better performance and new features like Concurrent Mode and server-side rendering. Challenges with "embedded interactives" were overcome, leading to improved website performance.
Enhancing the New York Times Web Performance with React 18
The New York Times upgraded to React 18 for better performance and new features like Concurrent Mode and server-side rendering. Challenges with interactive content were overcome, resulting in improved site performance.
Migrating Coinbase's 56M Users to React Native: Key Lessons and Takeaways
Coinbase transitioned 56 million users to React Native, addressing performance challenges like re-rendering. Nick Cherry discussed platform-specific optimizations, Farcaster/Warpcast development, React Navigation, Expo benefits, and AI in front-end development. StepChange offers database modernization services.
Next.js 15 and Turbopack Dev (Stable)
Next.js 15 has been released, featuring stability improvements, breaking changes to caching and Async Request APIs, support for React 19, a new CLI for upgrades, and stable Turbopack Dev.