Library support for New Architecture + Bridgeless in 2024 #167
Replies: 12 comments 23 replies
-
Btw - who was write access to that google doc with the libraries?
|
Beta Was this translation helpful? Give feedback.
-
@brentvatne I sent you an email regarding getting access to the doc. Hope that's ok. Just need to add the details for lib version and the versions it was tested against |
Beta Was this translation helpful? Give feedback.
-
Hi! I found firebase SDK already in the list. Is it planned to reach adobe to add the whole SDK to the migration? |
Beta Was this translation helpful? Give feedback.
-
Hey Brent! Thank you so much for this initiative, this is great! Can we add Here is the list: |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
-
@brentvatne
And update eventually:
|
Beta Was this translation helpful? Give feedback.
-
@brentvatne
|
Beta Was this translation helpful? Give feedback.
-
Hey @cortinico! I'n currently porting React Native Navigation by Wix to new bridgeless architecture and have some questions/blockers:
|
Beta Was this translation helpful? Give feedback.
-
Hi @cortinico , just create PR to migratte react-native-orientation-locker to new arch. Can u update the sheet? |
Beta Was this translation helpful? Give feedback.
-
hi @cortinico I have a PR to migrate react-native-contacts to new arch. Can you update the sheet? |
Beta Was this translation helpful? Give feedback.
-
I think we should also include @gorhom's react-native-bottom-sheet in the list. 2 useful links:
Hopefully, |
Beta Was this translation helpful? Give feedback.
-
It would be nice to include Tesla Motors I tried to enable new architecture for our app and observed that this library works well on iOS but shows this warning on Android. The library maintainers will welcome PRs regarding new architecture -> teslamotors/react-native-camera-kit#537 (comment) Here is my research issue where I document our journey to enabling new architecture for status-mobile -> status-im/status-mobile#18138 |
Beta Was this translation helpful? Give feedback.
-
Note
tl;dr: The New Architecture is being rolled out in 2024, and now is a great time to verify and fix compatibility issues in your libraries. React Native 0.74 provides an Interop Layer that greatly assists in this process, making it possible to use modules written for the legacy architecture with minimal changes in most cases. A small team of engineers have kicked off the effort with some of the most installed libraries, but more help is needed from the community to ensure coverage across the vast ecosystem. We're requesting help in the form of: library users testing and reporting issues, authors updating libraries, and engineers experienced within this domain assisting others with making their libraries compatible. Resources, links, and additional context are below.
Important
The current status of many of the most popular libraries is tracked in the "New Architecture support in popular libraries" spreadsheet. This does not track every library, only those that appeared in the top 400 most installed libraries on EAS Build, so if a library is not there it does not mean it is necessarily unsupported.
As shared in the New Architecture landing page, 2024 is the year that the New Architecture will be rolled out to all React Native users.
In order for developers to be able to begin transitioning their existing projects to the New Architecture, it's important that the libraries they depend on are compatible.
There have been previous efforts to expand library support for the New Architecture, which helped to inform changes that were needed to make this process easier for library maintainers.
In React Native 0.74, there are various Interop Layers enabled by default which allows many libraries to work without any changes — however, it's not perfect and some libraries will need to be updated to account for its quirks.
React Native 0.74 also enables bridgeless mode by default, which is a key feature of the New Architecture and may require changes to some libraries.
This discussion is a call for support in migrating third party React Native libraries, in this final push to get the New Architecture shipped.
Kicking off the initiative with the most frequently installed libraries
Meta and Expo kicked off this effort by identifying the 400 most installed libraries on Expo's CI service (EAS Build), and then filtering those down to those that depended on native code. We believe this is a good indicator of which are the most popular libraries in the React Native ecosystem as a whole.
We proceeded to either work on testing and fixing the libraries ourselves, or reached out to the maintainers of those libraries to ask for support. Many of those folks kindly agreed to help, and we've been working together to get their libraries updated.
📈 🔗 The current status of these libraries is tracked in the "New Architecture support in popular libraries" spreadsheet.
This list includes the most popular libraries in the ecosystem, including libraries from Software Mansion such as react-native-reanimated and react-native-screens, libraries in the Expo SDK such as expo-updates, service libraries like react-native-firebase, and many others.
As of Monday, March 25, 2024, 42% of the community libraries tracked in this spreadsheet are compatible (see the “Statistics” tab). This is already great news for 0.74 as we’re still in the RC phase, but we need your help to get through the majority of libraries by the time 0.74 hits stable!
How you can help
There are a few ways you can help with this effort, depending on your experience and interests:
Be sure to refer to the "New Architecture support in popular libraries" spreadsheet to see which libraries are already supported. Additionally, you can search in this discussion to see if anyone has already opened a thread for the library you're interested in.
The libraries that are most likely to require updates are those that ship or depend on third party native code. Libraries that only use JavaScript or React Native core APIs are expected to work without any changes (provided that they do not use private/undocumented APIs).
Resources to help you get started
Opening a thread for a library
Discussion title
Use the library name, eg: react-native-safe-area-context.
Discussion body
Provide information in the following format (where "New Architecture" means with bridgeless also enabled):
Below this, share any questions, comments, or concerns you have.
Beta Was this translation helpful? Give feedback.
All reactions