React Native – H2 2021 Recap

Reacte Native

While we’re all still excited for the release of React Native 0.67, we want to take a moment to celebrate what the community achieved in the last half and share what we have on the horizon for the future of React Native.

Specifically, H2 2021 was an exciting half for both us and the community where we had the opportunity to invest more in our open-source ecosystem. We revamped some of our processes and created new ones from scratch that will help you, us, and the community to enjoy a better React Native experience.

Repository Health

In H2 2021, we invested in tackling some of the OSS debt that our repository built up over the years. Specifically, most of our focus was around pull requests. We built an internal process to make sure all the new pull requests are addressed in a timely manner.

Although this is not a complete list, we would like to highlight some impactful PRs we received from our contributors:

Accessibility#31630 Added Support for Entrance/exit from collection by Flatlist by @anaskhrazaCrash#29452 Fix – TextInput Drawable to avoid Null Pointer Exception RuntimeError by @fabriziobertoglio1987Display#31777 fix: TouchableNativeFeedback ripple starts on previous touch location by @intergalacticspacehighway#31789 Fix support for blobs larger than 64 KB on Android by @tomekzaw#31007 Fix selectionColor doesn’t style Android TextInput selection handles by @fabriziobertoglio1987#32398 Fix Android border positioning regression by @oblador#29099 [Android] Allows to set individual (left,top,right,bottom) dotted/dashed by @fabriziobertoglio1987#29117 [Android] Fix font weight numeric values by @fabriziobertoglio1987Interaction#28995 [Android] Fix TextInput Cursor jumping to the right when placeholder null by @fabriziobertoglio1987#28952 [Android] Fix non selectable Text in FlatList by @fabriziobertoglio1987#29046 [Android] onKeyPress event not fired with numeric keys by @fabriziobertoglio1987#31500 fix#29319 – ios dismiss modal by @intergalacticspacehighway#32179 Fix: multiline textinput start “jerking” when trying to move cursor. by @xiankuncheng#29039 Fix to make taps on views outside parent bounds work on Android by @hsourcePerformance#31764 Optimize font handling on iOS by @Adlai-Holler#32536 Don’t reconstruct app component on split-screen by @Somena1Testing#31401 Add unit tests for VirtualizedList render quirks by @NickGerleman

Some of those PRs addressed issues that were impacting both Meta and the overall OSS community, given the number of reactions on the corresponding issue they closed.

There are so many more PRs we would like to call out, and we want to thank again all the people that are spending their time to help us address bugs and improve React Native.

Community Engagement

At the beginning of the half we set a goal to communicate with our community more and set process for the behavior to continue. Here were some of our engagements in H2 2021:

We had the opportunity to participate in React Native EU with a talk from Joshua GrossBringing the Fabric renderer to the “Facebook” appWe hosted an “Ask Us Anything“ (AUA) on Reddit and received over 100 questions! AUAs are a great opportunity for both us, to get a sense of the community engagement, and you all, to ask any kind of questions. If you haven’t yet, make sure you check the answers as some of them are extremely insightfulWe shared our Many Platform Vision, a guide for gotchas for Android 12 and iOS 15, and the progress and vision for Hermes to become the default JS engine for React Native!Our own Kevin Gozali appeared on an episode of React Native Radio podcast to talk about the new architecture.At ReactConf 2021, ReactConf Rick Hanlon shared the unified many-platform vision for React and React Native. Moreover, Eric Rozell and Steven Moyes got to share the amazing progress React Native Desktop has made in supporting both Meta and Microsoft apps and showcasing the Many Platform Vision in practice.

Beyond sharing more updates in H2 2021, we also leaned on our community more than ever. We relied on critical feedback from contributors as they dogfooded early drafts of the New Architecture material. As well, we were heavily supported by the expertise of our community in debugging critical release issues and improvements.

There is a wealth of knowledge that our community brings into React Native, and we need to continue to nurture it.

The New Architecture Rollout and Releases

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

We’ve been working hard to deliver the infrastructure needed to rollout the New Architecture to apps and libraries. We involved some of our partners and core contributors/library maintainers to refine our support for the new architecture to get early stage feedback.

We are now preparing to release a new guide on our website: Getting Started with the New Architecture. That will be the entry point to a collection of material that we’re going to release in 2022 and will help you migrate/start your project with the new architecture.

Moreover, we would like to stress the importance of giving feedback on the New Architecture material. We’re still in the process of finalizing the last details and your input will help everyone adopt the new architecture more seamlessly.

Releases play a critical role in the New Architecture rollout. Our goal last half was to ensure any release blocking issues did not stagnate. We approached the problem by clarifying and improving process and responsibilities for better accountability. Our release coordination now occurs in a dedicated discussions repository with clearer release issue reporting.

In H1 2022, we will continue to iterate on release responsibilities to support new architecture rollout. If you’d like to help out testing release candidates or working on improvements, feel free to join the discussion!

To Mobile and beyond

As you can see from the ReactConf talk lineup, React Native is not only Android & iOS.

Earlier in 2021, we shared our Many Platform Vision, and we had a successful time rolling out React Native on both Desktop and VR.

We’re looking forward to converging patterns that are platform-specific into the React Native experience.

Finally, we want to thank again the community for the enormous support in H2 2021. It’s always amazing to see how contributors come together and support each other on Github, fixing bugs, sharing their and helping us deliver React Native to millions of users.

Stay tuned and looking forward to an even more amazing 2022 🎉!