Brownfield development adds React Native screens or modules to an existing native app. Teams can adopt it gradually, replace web views with native UI, and reuse components across platforms instead of rewriting an entire app. The speakers note that this can help teams share work across web, iOS, and Android, though web developers still need to learn mobile tools and environments.
Adding React Native to iOS and Android Apps Has Never Been Easier
Speakers
Miho Kushhawa, principal engineer at Callstack, and Burak, a software engineer who maintains React Native Builder Bob, explain how to add React Native to existing iOS and Android apps and demonstrate the setup in a webinar.
The speakers describe common integration hurdles: changing repository structure, adding Node.js and npm, relying on CocoaPods for iOS, and wiring React Native dependencies into native build systems. These steps can tightly couple the native project to React Native upgrades. Their proposed alternative packages the React Native app as an XCFramework for iOS or an AAR for Android, which the host app can consume as a framework or library.
The setup adds a framework target to the React Native app, builds it, then imports it into the native app. On iOS, the demo uses an XCFramework and a SwiftUI view that loads a registered JavaScript module by name; the speakers describe a similar path for Android with Jetpack Compose. They recommend React Native Enterprise Framework for packaging and React Native Brownfield for runtime helpers, and say the tools work with both the new and old architectures.
Burak demonstrates building the framework, starting React Native from a SwiftUI app, and loading the `main` module. In debug mode, the app connects to Metro, and a JavaScript text change appears in the native app and SwiftUI preview. The speakers also flag dependency issues, including React Native Firebase bringing its own native framework, and advise checking for duplicate or missing frameworks.
The speakers say React Native Enterprise Framework and React Native Brownfield complement each other: one handles packaging and setup, while the other helps with communication and runtime behavior. They describe teams developing React Native separately and sharing framework builds, sometimes through Git submodules. For skeptical native developers, they suggest keeping native tooling changes limited and using React Native selectively where it fits.
Takeaways
- Package React Native as a framework to reduce changes to an existing native app’s repository and dependency setup.
- Use React Native Enterprise Framework for packaging and React Native Brownfield for runtime integration helpers.
- Register multiple JavaScript modules by name to load different React Native screens from native code.
- Check which native frameworks each React Native dependency requires, and avoid bundling the same framework twice.
- Adopt React Native screen by screen where it fits, rather than making a full rewrite the prerequisite.
Mentioned in this talk
Search inside this talk
What was claimed 20
- integrates withReact Native integrates with Androidexposes Android primitives for Quest apps
“integrate React Native into your native Android app”
0:00inIncremental React Native Adoption in Android AppsYouTube Verified3 sources· Talk
- built
“thanks to a library called React Native Brownfield”
YouTube Verified2 sources· Talk
- usesReact Native uses JavaScript
“the language was JavaScript”
1:28inWhat drove CTOs of Callstack and Channels to invest in React Native?YouTube Verified5 sources· Talk
- role atMiho Kushhawa is principal engineer at
Callstack“I’m a principal engineer at Callstack”
YouTube Unverified1 source· Talk
- built
“Callstack's open-source tool for measuring performance regressions”
2:32inDMAIC - The Smooth Lift-off in OptimizingYouTube Verified3 sources· Talk
- built
“I maintain a library called React Native Builder Bob”
YouTube Unverified1 source· Talk
- works atsoftware engineer
“I’m a regular software engineer”
YouTube Unverified1 source· Talk
- built
Callstack built
React Native Paper“We develop a bunch of libraries such as Re.Pack, Reassure, React Native Paper”
YouTube Unverified1 source· Talk






