Multi-Module architecture using EXPO?

  1. SDK Version: 47
  2. Platforms(Android/iOS/web/all): ALL

Hi there,

Please, where can I learn more about modern EXPO Multi-Module Architecture?

I have investigated this for quite a while in 2020 and 2021, but I left the company before our team completed the super app using Multi-Modules with RN (Not EXPO).

How realistic it is to have a multi-module architecture that span 10 different teams (one for each Business Unit) with 2023’s Expo technology?

The most important aspect for us is MOBILE (Android and iOS), but having a single codebase that could ALSO run on WEB (Mobile and Desktop) would be AMAZING.

Important aspects that we are considering for this design:

  • Each team will be able to have their own Module (This will be loaded once the end user selects the BU (ie. My Checking Account, Savings, My Ranking (Gamification), My Credit Card, My Insurances, My Profile, My Inbox, My Loans, etc).
  • Share some foundational libraries, like Design System, Analytics, Authentication, Splash, Log System, Menu - that will have a “pointer” to load the correct module (mini-app)
  • Be able to communicate back and forth with base (Shell) and any other modules.
  • Have good transition between modules
  • Have some cycle management for the Modules, like OnLoad, OnReload, OnClose, etc.
  • Personalization that is SENT to Modules when they are loaded (Dark Mode, Language, Profile used (Business, Personal))

Any tip would be appreciated



I assume by “multi-module”, you mean like, each team maintains part of an app that they can run independently, but which also get combined into the single full app that goes to the stores for customers?

Seems like you could do something with a monorepo, where there’s packages for each module, and then apps that build the module (or even just one “container” app that can be built around an individual module), and finally the full app.

Monorepos are still advanced setups, but are significantly easier to work with in the React Native/ Expo ecosystem than they were when you last looked into this. We have a setup guide here.

1 Like

That’s really good information. Thanks a lot!

Now they throw another requirement, is that one of these modules should be an existing React Native application that is already in production. We can adjust it to work with the container/shell architecture.

I believe it would be good, in case we succeed with this here, to create a blog post or something explaining the strategy used in Expo for achieving that. it might be helpful to other teams.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.