Bring React Native Into Your App, One Step at a Time
This guide is for iOS and Android teams who want to experiment with React Native gradually, without slowing delivery or rewriting the whole app.
You’ll get:
- A side-by-side look at legacy vs. modern integration approaches
- How the Packaging Approach and React Native Brownfield library simplify setup
- Step-by-step walkthroughs for iOS and Android
- Real-world migration insights from the Callstack team
This guide will help you bring React Native into production safely and incrementally.
What's waiting for you inside?
Every React Native App is brownfield
Even a new React Native app starts from a native template, meaning it already mixes native code with React Native runtime. This section reframes what brownfield means, explaining how React Native apps inherently combine native infrastructure (Xcode, Gradle) with cross-platform code. It sets the foundation for thinking of integration as the norm, not the exception.
Legacy way of integrating with existing apps
This chapter covers the official method for embedding React Native in existing apps using the Community CLI template. While this approach is documented, the guide highlights its friction points:
- Disruptive file structure changes
- Native teams needing to adopt and learn Node.js tooling
- Reintroducing CocoaPods (!sic) in modern iOS setups
It outlines both technical and organizational blockers, like the overhead of running JS bundlers and the coordination burden on native developers unfamiliar with the RN toolchain.
New way of integrating with existing apps
It’s time to introduce two complementary solutions:
- Packaging Approach: Bundles RN UI and Hermes bytecode as a native library (
XCFramework
orAAR
), turning React Native into a drop-in dependency. - React Native Brownfield library: Provides runtime helpers to load React Native views seamlessly and reuse instances across components.
Together, they reduce integration complexity and allow native and React Native teams to work independently within any kind of code setup: monorepos or separate repos. This chapter explains why these tools simplify setup and long-term maintainability across iOS and Android.
Integrating React Native in an iOS app
A detailed, step-by-step guide to integrating the React Native package into an iOS app:
- Creating a new framework target in Xcode
- Configuring CocoaPods for the RN framework (when not using React Native Enterprise Framework)
- Setting build flags and script phases to generate JS bundles
- Building an
XCFramework
and importing it into the native app - Using
ReactBrownfieldRootViewManager
to instantiate and render RN views in Swift (UIKit or SwiftUI)
This chapter is practical and code-heavy, meaning it’s great for iOS engineers who want to see exactly how it’s done.
Integrating React Native in an Android app
The Android counterpart to the iOS walkthrough, this section:
- Sets up a new Android library module in an React Native project
- Uses Callstack’s
brownfield-gradle-plugin
to generate a Fat-AAR with all dependencies - Registers React Native views and lifecycle in Kotlin via
ReactNativeHostManager
andRNViewFactory
- Walks through Maven publishing for local consumption
- Shows how to load React Native views in a fragment, launched from a button in the main activity
It also shows how to wire up lifecycle events and use the AAR in production-ready apps without changing existing native architecture.
React Native is known for enabling fast, cross-platform delivery, but integrating it into an existing native app can be intimidating.
This guide breaks it down.
You’ll learn how to:
- Package React Native code as a reusable library
- Use React Native Brownfield to reduce overhead and friction when initializing and running React Native
- Integrate with any iOS or Android architecture, from SwiftUI to Jetpack Compose
- Maintain performance, modularity, and developer morale along the way
We don’t just talk about theory; we show you exactly how it works, from build scripts to Gradle config to XCFramework
packaging.




Check what others are saying
Join teams bringing React Native into production, step by step
Thousands of developers use Callstack’s tools and expertise to safely adopt React Native in their existing apps. This guide shows you how.