I need to create a mobile app that contains other apps and can run them. It is basically like an "app center" which have a list of apps (that we publish on our server) and the user can open one of them which lead to the app being opened.

Think about [Expo's app](https://expo.io), the user can scan the QR code of his app and it will be automatically compiled and opened, this is close to the feature I want.

The apps that can be opened are created using react-native and stored inside GIT repositories in Gitlab.

Consider the following example:

[![Sketch image of the desired app](https://i.stack.imgur.com/csqi8.png)](https://i.stack.imgur.com/csqi8.png)

By launching the app, which we call *App Center*, a list of apps will be shown. When the user click on one of them, it will be opened internally. 

---

Here's a "more technical" example:

1. The App Center is launched
2. The app will get the list of apps to show from the server, for example by calling <https://myappcenterserver.com/all-apps>
3. They will be displayed and it will listens to press events
4. Let's say the user pressed an app called **1st App** *(it's a very bad name I know)* which have **AP123** as an ID
5. Our app will send a request to the server by calling <https://myappcenterserver.com/app/AP123>, this will either returns the react-native source code of the app from the Git repository
6. Our app center will compile the code from step *5* and run it

---

So according to you which is the best approach I should consider. 

Should I use a remote code solution such as CodePush or react-native-dynamic-bundle ? Do they fit in this context ?