Shaping the Future of Super Apps in React Native

Authors
Jakub Romańczyk
Software Engineer
@
Callstack
Michał Pierzchala
Principal Engineer
@
Callstack

In 2023, we introduced the ability to build native mobile super apps powered by the state-of-the-art web micro-frontend technology Module Federation. Fast-forward to 2024, it’s time to take it to the next level of delight and experience thanks to the new wave of tools and services that are gaining more traction, namely Rspack, Module Federation 2, and Zephyr Cloud, all combined with Re.Pack.

Re.Pack and super app development today

At Callstack, we believe that the future of mobile and web app development is React Universe—a tech ecosystem with React at its core. The exact tech that allows us to build cross-platform mobile, TV, and desktop apps today is React Native. It brings web technologies and ideas, like bundlers, APIs, and devtools, into native platform development.

Speaking of bundlers—they allow you to package all JavaScript files developers write into an optimal format for your app. One of such bundlers that you can use with React Native is Re.Pack. It harnesses all the necessary setup to allow hooking Webpack, one of the most popular and powerful web bundlers, into your mobile app development.

Webpack allowed us to bring a web architecture concept, Module Federation, to mobile apps, powering the super app building experience. With the benefits of shipping modular (or federated) features to your users independently of the AppStore or Google PlayStore release schedule. We’ve seen enterprises building on this architecture and successfully deploying it to thousands of users.

With the new possibilities, however, challenges emerge that any app adopting super app architecture must resolve: dev iteration speed, discrepancies between the APIs of Module Federation for the web and for mobile, and version management. The good news is that these challenges won’t stay for long.

Why we’re betting on Rspack

Rspack is a next-gen bundler aiming to be a drop-in replacement for Webpack. It’s built by the Web Infra team at ByteDance and is written in Rust for performance and better scalability. It doesn't just offer a similar configuration interface with Webpack, but it’s also 5x faster. Most importantly, for tooling and library builders, it allows us to build on it, and take care only of the parts specific to React Native. Rspack addressed long-standing issues, most importantly providing reliable Hot Module Replacement across federated bundles.

That’s why in the next major release of Re.Pack 5 we’ll bring full Rspack support while keeping full Webpack support for the time being.

We’re building all future features on top of Rspack, and we can’t wait to share it with the world!

How Module Federation 2 unlocks a unified web and mobile experience 

This year, a major iteration of Module Federation was released—version 2.0. It brings numerous enhancements: 

  • Dynamic type generation to understand what props your federated components can accept (a long-standing issue in Re.Pack as well!). 
  • Federation runtime, which adds the ability to dynamically add new remotes or declare shared dependencies at runtime. 
  • A plugin system for the runtime, allowing developers to customize behaviors when dealing with federated remotes. 

These are just a few, selected features of the new Module Federation - it’s highly recommended to read the official announcement on the brand-new documentation site. 

The best part about Module Federation 2 is the fact that it enabled us to eliminate workarounds we had in place to have MF working in the React Native environment. It makes web and mobile MF experiences consistent, deterministic, and predictable. 

The Re.Pack team has simplified how the federated remotes are imported, removing the need for custom utility functions. Federation Runtime plugins standardized the way to customize the behavior, so we can now provide an official plugin to align the necessary parts of Module Federation for the React Native environment. 

Now, Re.Pack can provide sensible defaults, enabling you to get everything working without the use of its low-level API. All of these changes combined make the development experience with Module Federation and React Native feel much closer to the web.

Partnering with Zephyr Cloud 

We are excited to announce our collaboration with Zephyr Cloud to integrate their platform into the React Native ecosystem. This partnership aims to simplify the deployment pipeline for React Native apps by leveraging Zephyr Cloud’s capabilities and make it as seamless as possible.

Purpose-built to manage and deploy micro-frontend applications, Zephyr Cloud is, as they say, the only sane way to do micro-frontends. As a cloud-agnostic and framework-agnostic tool, Zephyr Cloud makes managing federated apps simpler, faster, and more efficient. They do this without the need of extensive additional configuration. 

It enables you to connect to your chosen cloud provider, such as Cloudflare or Netlify(while adding more integrations in the future), so your data stays within your grasp. On its own, it ensures you retrieve the correct version of your mini app. 

Alternatively, you can use their own managed cloud for a super smooth integration experience. Zephyr integration is available as a plugin for both Rspack and Webpack—thus naturally playing nicely with Re.Pack.

diagram showing re.pack, rspack, and zephyr cloud

How Zephyr Cloud supports building super apps 

Zephyr Cloud integration could be separated into two parts: deployment to the edge (via the CLI in your terminal) and version management - through online dashboard or a Google Chrome extension.

Deployment

The official Rspack/Webpack plugin wraps your entries configuration and integrates a deployment into every build. Not every asset will be uploaded every time - the plugin can deduce which assets have changed and upload only those, making the deployment process fast. 

Version Management

We are also big fans of the version management side of this integration and how it will be relevant for the super apps. Here are some of the highlights:

  • Control which version of a mini app is available for a given host app version by selecting the wanted versions from the list of the available deployments.
  • Rollback to a previous version in case of unexpected critical bugs in production environment, without a need of releasing a hotfix
  • Visualize your Super App structure - see how federated mini apps connect with each other and what are the relationships between them
  • Visualize the project dependencies shared between the apps making it easier to spot incompatibilities and potential issues

After reading that you might get a feeling that this all sounds like a previously missing piece to the Super App puzzle - we think so too!

Building super apps tomorrow: Re.Pack 5 and Zephyr Cloud 

With these improvements in development and deployment workflows, we are optimistic that Super Apps will become an even more viable solution in the React Native ecosystem. By combining enhanced development tools and easy-to-adopt deployment solutions like Zephyr Cloud, we hope to unlock a completely new, delightful experience of delivering high-quality apps that target users across any platform, including web. 

Re.Pack 5 alpha release with Rspack is available to you starting today. Try it now and help us stabilize this version by installing it in new or existing projects:

npx @callstack/repack-init@5.0.0-alpha.0

In the upcoming weeks, we’ll be shipping stable support for Module Federation 2, Zephyr Cloud integration, and Nx integration for you to try and build with. Stay tuned!

Insights

Learn more about Super Apps

cover

Aug 31Article

Working With the React Native Super App Showcase Repository

Explore the React Native Super App Showcase architecture: Re.Pack, Module Federation, runtime bundles, shared dependencies, and production releases.

cover

Jul 21Article

A Step-By-Step Guide to Super App Development With Re.Pack 5

Learn how to connect a React Native host and mini app with Re.Pack 5 and Module Federation, then load the remote module at runtime.

cover

Jul 2Article

Mobile Module Federation with Re.Pack: When Runtime Delivery Is Worth the Complexity

Learn how Module Federation works in React Native with Re.Pack, when it makes sense, when simpler options are better, and what teams need to validate before adopting runtime delivery.

cover

May 19Article

Using TurboModule Substitution to Build Safer React Native Plugin Systems

Learn how TurboModule substitution helps React Native plugin systems provide native capabilities while preserving sandbox boundaries.

cover

Aug 27Article

Re.Pack 5.2: Faster Babel Transforms, RN 0.80 & 0.81, Rozenite

This release focuses on parallel, smarter transforms with a new Babel & SWC loader, official support for React Native 0.80 and 0.81, fully typed configs, support for Rozenite and more

cover

Jul 31Article

Running Multiple Instances of React Native in Sandbox

react-native-sandbox lets you run multiple React Native instances in one app. Build secure super apps and plugins with true runtime isolation, crash containment, and configurable permissions for native modules, perfect for integrating third-party code safely.

Event Cover

May 21Talk

Building Universal Super Apps With React & React Native

Discover how to build universal Super Apps using React and React Native. Join Mike Grabowski, CTO at Callstack, as he explores dynamic code delivery, native UI rendering, and how RePack bridges the gap with Module Federation.

Event Cover

May 20Live Stream

What’s New in Re.Pack 5.1: Live Overview

Explore runtime hooks, prefetching MF remotes, and more in Re.Pack 5.1. Join us live or watch the replay.

cover

Jan 29Podcast

Mobile Microfrontends With Zephyr Cloud and Re.Pack

Get ready for faster development cycles and reduced risks when rolling out updates for mobile apps with microfrontends enabled by Zephyr Cloud and Re.Pack.

Event Cover

Jul 8Webinar

How to Scale Teams, Product Development, and Release Process With Re.Pack

Join us to learn how Re.Pack helps manage complexity in React Native apps, enables scalable teams, and boosts release processes.

cover

Nov 7Podcast

Module Federation

In the 18th episode of the React Native Show Podcast, Łukasz Chludziński, Paweł Trysła, and Zack Jackson talk about Module Federation in Webpack and Re.Pack. They also discuss some of the buzzwords related to this type of architecture, for example, super apps and micro frontends.

cover

Jul 6Podcast

Re.Pack - Bringing Webpack to React Native

This episode explores Re.Pack, an Open Source, Webpack-based toolkit to build React Native apps with the full support of the Webpack ecosystem.

cover

Mar 19Tutorial

The Hard Way vs. The React Native AI SDK Way: Stop Writing Custom Modules for Every Model

Learn how React Native AI uses a unified provider model to switch between cloud and on-device LLMs without rewriting application logic, enabling reliable AI experiences online and offline.

cover

Mar 12Tutorial

Build Smarter Apps: Tool Calling & AI Orchestration Explained

Learn how on-device models in React Native can call tools, interact with external APIs, and return structured outputs you can use directly in application logic.

cover

Mar 5Tutorial

MLC LLM + React Native: On-Device AI Without the Pain

Learn how to run third-party on-device LLMs in React Native using MLC LLM. Choose your models, run them efficiently across platforms, and keep a unified JavaScript API with React Native AI.

cover

Feb 24Tutorial

Intelligent Fallbacks with Apple Intelligence in React Native

Learn how to use Apple’s built-in Foundation Models in React Native apps, reduce memory usage, and enable fast, fully on-device AI with React Native AI Apple.

cover

Feb 10Tutorial

What Is the React Native AI SDK? A Complete Intro & Quickstart

Learn why on-device AI matters for React Native apps, how local LLMs behave offline, and what problems React Native AI is designed to solve from day one.

cover

Jan 29Tutorial

Implementing an Android TurboModule with Kotlin

Learn how to implement a React Native TurboModule on Android, from the TypeScript spec and Codegen to the Kotlin implementation and package registration.

cover

Jan 19Tutorial

Working with Different Threads in Swift TurboModules

Learn how JavaScript, native module, background, and main threads interact in React Native TurboModules, and how to use GCD queues to run async work safely in Swift.

cover

Jan 9Tutorial

How to Add Type-Safe Constants to Swift TurboModules

Learn how to expose typed, immutable constants from a Swift TurboModule using Codegen, and get full end-to-end type safety between native and JavaScript.

cover

Dec 30Tutorial

Adding Event Emitters to Your TurboModule in Swift

Learn how to emit native events from a Swift TurboModule and subscribe to them in JavaScript, including proper memory management and Codegen integration.

cover

Dec 22Tutorial

Writing Your First TurboModule in Swift

Learn how to build a fully working TurboModule in Swift, integrate it with Codegen, and bridge it through Objective‑C inside an Expo app.