The first step for building a Super App and Mini App ecosystem is to create the Super App itself.
As aforementioned, the mini-apps are executed within the context of a Super App. So first you need to create or get access to an already created Super App, which will officiate as the host of the Mini Apps.
The Super App can be any mobile application, online or offline, generated with GeneXus.
This document shows the steps necessary to create a Super App within GeneXus. If you already have an app, not developed with GeneXus technology, that you want to convert into a Super App, see GeneXus´s GitHub documentation, since GeneXus licenses the necessary technology to achieve it.
At the moment, this feature is only available for eligible groups of beta testers. Ask your local sales representative for enrollments.
We assume that you already have developed an app that provides certain functionalities. Now you want certain functionalities or services to be provided through Mini Apps. For this, we must transform this application into a Super App. Let's see the steps.
Before developing a Super App, you need to have a Super App Administrator account in the Mini App Center, which allows you to manage your Super App and their Mini Apps (which could be developed by your organization or third parties).
The steps are:
- Register your Organization
- Register the Super App and their version
- Obtain the Public Key for the Super App version
In the Super App's Knowledge Base:
- Install the GeneXus Super App Module
- Get and show the Mini Apps
- Create a Super App Object and set their properties
- Implement the communication interface for the Mini Apps
- Build & test the Super App
- Deploy the Super App
The GeneXusSuperApp Module needs to be installed from Knowledge Manager > Manage Module References.
It is made up of two external objects:
- Provisioning: to interact with the Mini App Center services in order to get the Mini Apps
- MiniApps: to load and manage the Mini Apps
It is assumed that you already have created an app, which means you have a Panel or Menu object declared as Main.
So, the next step is to add the functionality to access the Mini Apps. Add the code to do so in the Panel where you will show the Mini apps.
&AllMiniApps = GeneXusSuperApps.Provisioning.GetByTag('food', &start, &count)
&MiniAppName = !"QR Code"
For &MiniApp in &AllMiniApps
&MiniAppName = &MiniApp.Name
&MiniAppIcon = &MiniApp.Icon
Note: The GeneXusSuperApps external object can only be referred from front-end events. So you can call the methods from Client Events, or by Server Events, but only from offline application. This is a temporal limitation.
Create the Super App object and set their properties.
It is through this object and its properties that you indicate that a main Mobile object is indeed a Super App. When building the App (now the Super App), the necessary information will be generated so that later, at runtime, the Super App knows which provisioning server need to connect in order to get the list of mini apps available for that Super App.
(no supported yet)