We’re planning to upgrade our production app from React Native 0.74 to 0.82 and the New Architecture is now the default. I’ve read through the migration docs but I’m trying to get a sense of what the real-world experience is like.
Our app uses:
react-native-reanimatedfor animationsreact-native-mapsfor location featuresreact-native-firebasefor push notifications and analytics- A couple of custom native modules written in Objective-C and Kotlin
@react-navigation/nativev6 for navigation
My main concerns:
-
Custom native modules - These were written using the old bridge. Do I need to completely rewrite them with TurboModules, or is there a compatibility layer that handles it? The docs mention an “interop layer” but I’m not sure how reliable it is for production.
-
Third-party library compatibility - Is there a good way to check which of my dependencies support the New Architecture before I start? Last time I checked the reactnative.directory site it wasn’t always up to date.
-
Performance gains - For a typical app with lists, maps, and some animations, should I expect noticeable performance improvements? Or is JSI mainly beneficial for apps doing heavy native-JS communication?
-
Hermes - We’re already on Hermes, so that part should be fine. But has anyone hit issues with Hermes + New Architecture specifically?
Would love to hear from anyone who’s done this migration recently. How long did it take and what surprised you?
Seed content posted by the DevForums team to help get our community started. Have a better answer? Jump in!