Pierzchala describes teams maintaining long-lived React Native apps, supporting more than 10 platforms, and moving engineers between web and mobile work. Some companies rely on the Community CLI because they cannot or do not want to adopt Expo. Others need alternative bundlers such as Re.Pack with Rspack or webpack.
Native Apps Without a Build Step
Speaker
Michal Pierzchala, principal engineer at Callstack, explains how the React Native Enterprise Framework can reduce native build work and simplify adoption at the React Universe Meetup in April 2025.
Callstack is building a framework for large teams using the Community CLI, with migration intended to take about 10 minutes. Its design emphasizes modular plugins, support for power users, self-hosting, and incremental adoption. Teams can choose a bundler, add plugins and platforms, and configure a remote cache provider.
The remote cache lets developers download a native app artifact built by CI when its fingerprint matches the local project. In an Expensify demo, a cached iOS app was downloaded and launched without a local native build. Pierzchala showed that many CI runs reused artifacts, while an actual iOS build could take around 28 to 30 minutes; the cached run took seconds, in addition to setup such as npm install.
Pierzchala says the usual brownfield setup can require a React Native compatible directory, npm dependencies, CocoaPods, and changes to native build configuration. The framework’s approach packages the React Native app as a platform framework, such as an XCFramework for iOS, for native engineers to configure and import. He says Callstack has used this approach with clients for over five years and has now open-sourced it.
The project is called React Native Enterprise Framework, and developers can start a new project with `npm create rnef-app`. Existing Community CLI apps can migrate manually today, with automation planned for the future. The roadmap includes more platform support, self-hosted over-the-air updates, continuous native generation, additional cache providers, React Server Components, and Module Federation support.
Takeaways
- If JavaScript changes leave the native project fingerprint unchanged, a team may be able to reuse a CI-built app instead of rebuilding locally.
- Measure the time saved against setup costs such as dependency installation; a cache hit does not remove every step.
- A modular CLI framework can let enterprise teams choose bundlers, plugins, platforms, and cache providers to fit existing infrastructure.
- Packaging React Native as a framework may make brownfield adoption easier for native teams that want to avoid integrating npm and CocoaPods into their app build.
- Teams on the Community CLI can assess the framework incrementally, while accounting for manual migration in its current state.
Mentioned in this talk
Search inside this talk
What was claimed 16
- usesExpensify uses React Native
“our React Native rebuild of our front end”
0:22inBringing best minds to advance React NativeYouTube Verified3 sources· Talk
- role atMichal Pierzchala is principal engineer at
Callstack“I'm Michal, a principal engineer at Callstack.”
YouTube Unverified1 source· Talk
- built
“We develop a bunch of libraries such as Re.Pack”
5:01inAdding React Native to iOS and Android Apps Has Never Been EasierYouTube Verified3 sources· Talk
- featureRe.Pack: Supports Rspack and webpack within React Native
“an alternative bundler that allows us to use Rspack and webpack within React Native”
YouTube Unverified1 source· Talk
- integrates withReact Native Enterprise Framework integrates with
GitHub Actions
“remote caching takes the form of a GitHub Action”
7:37inWhy You Need React Native Enterprise FrameworkYouTube Verified4 sources· Talk
- featureReact Native Enterprise Framework: Modular, extensible, self-hosted, and designed for incremental adoption from the Community CLI
“as modular and extensible as the React Native Community CLI”
YouTube Unverified1 source· Talk
- built
“we're building a framework specifically for React Native enterprises”
YouTube Unverified1 source· Talk
- usesExpensify uses
GitHub Actions
to check pull requests for performance regressions“a GitHub Action that runs on every PR, compares what’s on main to what’s in your PR, and checks whether there was a performance regression.”
13:08inUser-Focused Performance TrackingYouTube Verified2 sources· Talk
- featureReact Native Enterprise Framework: Reuses matching native build artifacts from CI so JavaScript-only changes can run without a local native build
“Once you have something built on CI, why would you need to build it again locally?”
YouTube Unverified1 source· Talk
- featureReact Native Enterprise Framework: Provides a drop-in or near drop-in replacement for the Community CLI, with migration targeted at about ten minutes
“It should be around a 10-minute migration.”
YouTube Unverified1 source· Talk
- metricExpensify: IOS builds can take around 30 minutes; matching cached builds are skipped in about six seconds
“it normally takes around 30 minutes. This one took 28 minutes”
YouTube Unverified1 source· Talk
- integrates withReact Native Enterprise Framework integrates with Expo Fingerprint
“remote caching feature, something we were able to build thanks to the Expo Fingerprint library”
YouTube Verified2 sources· Talk
- metricReact Native Enterprise Framework: Can reduce cached release or debug builds to 20 or 30 seconds in a project most of the time
“you can achieve 20- or 30-second release or debug builds in your project most of the time”
YouTube Unverified1 source· Talk
- featureReact Native Enterprise Framework: Brownfield plugin packages a React Native app as a platform framework for integration into a native app
“For a given platform, like iOS, it will produce an XCFramework from your React Native application.”
YouTube Unverified1 source· Talk
- usesRe.Pack uses Module Federation
“Re.Pack, which supports Module Federation.”
YouTube Unverified1 source· Talk
- integrates withReact Native Enterprise Framework integrates with Re.Pack
“We have a Re.Pack plugin bundled within our repository today”
YouTube Verified2 sources· Talk





