What To Expect From React Native in 2020? [MOBILE DEV PERSPECTIVE]
Jan 72 min read
Senior Frontend Developer at Ideamotive.
React Native In 2019 - Summary
It was a good year for React Native.
In the mid of 2019 with the release of 0.60 version, we got a bunch of new cool changes and tools:
start screen was changed to more informative;
we got the Android X (!);
main packages were moved to separate repositories, what rapidly increased support and development of these repositories;
Helper got its long-awaited update;
CocoaPods became part of React Native IOS project;
And last, but not least: the auto-linking of native modules was introduced. We were especially happy to welcome this one!
All in all: not bad, right?
Thanks to Hermes,Android apps launch faster, consume less memory and are significantly lighter in size.
What I really liked personally, is that with version 0.61 we got properly workingFast Refresh feature, which was created to replace Hot Reloading and Live Reload. Also, in the mid of November React Native core team announced the launch of React Native doctor, which makes updates and migrations less painful.
Also, it was announced thatFlipper will be available in version 0.62 by default! For those of you who don’t know it (and I really recommend changing that!), Flipper is a platform for debugging mobile apps on iOS and Android. You can use it to visualize, inspect, and control your apps from a simple desktop interface. Long story short - pretty useful tool that every RN dev deserves.
(PROTIP: If you are not very patient, you can follow this link with the tutorial from one of the creators to add it to your project right now)
It looks like React core team is doing a great job as they constantly try to deliver the best developer experience for their library.
So, what should we wait for in 2020?
React Native In 2020 - What Can We Expect?
2020 will be all about introducing the new architecture to the framework.
The news about the new architecture was already released in 2018 (if you want to know more please check this amazing talk by nparashuram) but this year, during React Native EU 2019 Emily Janzer from React Native developer team shared their specified plan for 2020.
According to Emily, React Native will have new architecture introduced in 2020 and the process will be delivered in three separate phases:
Phase 1: Early 2020
Mostly concentrated on Native Modules, the next improvements will be added:
Faster Startup: lazy initialization of native modules by default
Phase 2: New renderer (Fabric) - Mid 2020
This is a new thread-safe implementation of React Native UI layer rewritten in C++.
better native interoperability
improved UX of core components
Phase 3: New initialization path - Late 2020
Facebook is working on the new set of APIs for initializing React Native, which will be explicitly depending on the new renderer and the new native module system and doesn’t use the bridge or any additional infrastructure.
The goal is to significantly improve startup time, so the fight is worth fighting.
It can be used for:
create JS runtime
load JS bundle
calling functions between C++ and JS
create and access JS objects from C++
I am very excited to see the new changes in the architecture coming. From what the React Native core team is telling us, it seems that we can count on native interoperability, increased performance, shorter startup time, and overall higher reliability and predictability during the development process and after the launch.