How to create a Super App?

Unofficial Content
This documentation is valid for:

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.

Requirements

At the moment, this feature is only available for eligible groups of beta testers. Ask your local sales representative for enrollments.

Steps to create a Super App with GeneXus 

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.

Getting Started

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:

  1. Register your Organization
  2. Register the Super App and their version
  3. Obtain the Public Key for the Super App version

Create your Super App

In the Super App's Knowledge Base:

  1. Install the GeneXus Super App Module
  2. Get and show the Mini Apps
  3. Create a Super App Object and set their properties
  4. Implement the communication interface for the Mini Apps
  5. Build & test the Super App
  6. Deploy the Super App

 

1. Install the GeneXus Super App Module 

The GeneXusSuperApp Module needs to be installed from Knowledge Manager > Manage Module References.

Super Apps - Install the GeneXus Super App Module

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

Super Apps - External Objects

2. Get and show 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.

Event Refresh
         &AllMiniApps = GeneXusSuperApps.Provisioning.GetByTag('food', &start, &count)
endevent
Event GridMainMiniApps.Load
         &MiniAppName = !"QR Code"
         &MiniAppIcon.FromImage(image:icon_QRCode)
         load
        For &MiniApp in &AllMiniApps
                   &MiniAppName = &MiniApp.Name
                   &MiniAppIcon = &MiniApp.Icon
                   load
         Endfor
endevent

Super Apps - Mini App list

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.

 

3. Create a Super App Object

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.

Super Apps - Create a Super App Object

Super Apps - SAObject Properties

4. Implement the communication interface for the Mini Apps

(no supported yet)

5. Build & test the Super App

6. Deploy the Super App