Bausteine und Kompatibilität
Mini-Apps sind kleine Apps (meist 2–4 MB), für die eine Super-App erforderlich ist. Sie haben unabhängig von der Super-App gemein, dass sie mit den Webtechnologien HTML, CSS und JavaScript erstellt werden („Dialekte“). Die Laufzeit einer Mini-App ist eine WebView in der Super-App und nicht das zugrunde liegende Betriebssystem. Dadurch sind Mini-Apps plattformübergreifend. Dieselbe Mini-App kann in derselben Super-App ausgeführt werden, unabhängig davon, ob sie unter Android, iOS oder einem anderen Betriebssystem ausgeführt wird. Allerdings können nicht alle Mini-Apps in allen Super-Apps ausgeführt werden. Mehr dazu später.
Discovery-Kampagnen
Mini-Apps werden oft ad-hoc über markenspezifische 2D-Barcodes entdeckt. Dies löst eine wichtige Offline-zu-Online-Herausforderung, z. B. den Weg von der Speisekarte eines Restaurants zu einer Mini-App für Zahlungen oder von einem physischen E-Scooter zu einer Leih-Mini-App. Das Bild unten zeigt ein Beispiel für einen solchen markenbezogenen 2D-Barcode für die Mini-Demo-App von We Chat. Andere Super-Apps erkennen den Barcode normalerweise nicht.
![2D-Barcode von WeChat.](https://web.dev/static/articles/mini-apps/mini-app-about/image/wechat-branded-2d-barcode-e6ef7f80e48d8.jpg?authuser=6&hl=de)
Mini-Apps können auch über die reguläre In-App-Suche in der Super-App gefunden, in Chatnachrichten geteilt oder Teil einer Nachricht in einem Nachrichtenfeed sein. Einige Super-Apps haben das Konzept von bestätigten Konten, die Mini-Apps in ihren Profilen enthalten können. Mini-Apps können hervorgehoben werden, wenn sie sich geografisch in der Nähe befinden, z. B. die Mini-App eines Unternehmens, vor der der Nutzer steht, oder praktisch in der Nähe, z. B. wenn der Nutzer eine Wegbeschreibung auf einer in der Super-App angezeigten Karte erhält. Häufig verwendete Mini-Apps sind in einer App-Leiste verfügbar, auf die in vielen Super-Apps durch eine Wischgeste nach unten oder über einen speziellen Bereich im Super-App-Menü zugegriffen werden kann.
Die User Experience
Alle Super-Apps haben mehr oder weniger die gleiche Benutzeroberfläche für Mini-Apps. Eine anpassbare obere Leiste mit dem Namen der Mini-App und eine Schließen-Schaltfläche ganz rechts in der oberen Ecke des Bildschirms mit einem Aktionsmenü, über das auf allgemeine Funktionen wie das Teilen der App, das Hinzufügen zur Favoritenliste oder den Startbildschirm, das Melden missbräuchlicher Apps, das Senden von Feedback und die Einstellungen zugegriffen werden kann. Der folgende Screenshot zeigt eine Shopping-Mini-App, die im Kontext der Alipay Super App ausgeführt wird, wobei das Aktionsmenü geöffnet ist.
![Die Alipay-Super-App mit einer Mini-App für Shopping, auf der die obere Leiste, die Schaltfläche für das Aktionsmenü und die Schaltfläche zum Schließen hervorgehoben sind Das Aktionsmenü ist geöffnet.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-alipay-super-app-runn-39dde18ae385b.jpg?authuser=6&hl=de)
UI-Paradigmen
Normalerweise befindet sich am unteren Rand eine Tab-Leiste für die Hauptnavigation der Mini-App. Die meisten Super-App-Anbieter bieten Komponenten an, mit denen Entwickler schnell gängige UI-Paradigmen implementieren können, z. B. Karussells, Akkordeons, Fortschrittsbalken, Kreiselsymbole, Schalter, Karten usw. Dies trägt auch dazu bei, die Nutzererfahrung zwischen verschiedenen Mini-Apps einheitlich zu gestalten, wie in den Designrichtlinien für Miniprogramme von WeChat empfohlen. Ähnlich wie bei Apple in den Human Interface Guidelines von Apple und den Empfehlungen von Google zu Design for Android.
![Die Douyin-Demo-Mini-App mit der Komponente „Douyin-Schieberegler (Karussell)“ mit Ein-/Aus-Schaltflächen für „Automatisch fortfahren“, Punktanzeigen usw.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-douyin-demo-mini-app-fbf61969fee88.png?authuser=6&hl=de)
Bereitgestellt
Mini-Anwendungen werden nicht einzeln als separate Ressourcen bereitgestellt, sondern als verschlüsselte gepackte Anwendungen, d. h. als Archive, die alle Ressourcen in einer einzigen Datei enthalten. Im Gegensatz zu herkömmlichen Webanwendungen werden sie auch nicht vom jeweiligen Ursprung des Erstellers der Mini-App bereitgestellt, sondern direkt vom Super-App-Anbieter. Sie können weiterhin über die Server des Erstellers der Mini-App auf APIs zugreifen, die Kernressourcen (auch als App-Shell bezeichnet) müssen jedoch vom Super-App-Anbieter bereitgestellt werden. Mini-Apps müssen die Ursprünge angeben, von denen sie zusätzliche Daten anfordern.
Caching, Updates und Deeplinks
Mini-Apps werden im Cache der Super-App gespeichert. Wenn der Nutzer das nächste Mal eine im Cache gespeicherte Mini-App startet, wird sie daher fast augenblicklich geladen. Bei einem Update wird ein neues App-Paket geladen. Die Versionsnummer kann Teil des Start-URI sein (siehe Discovery), sodass die Super-App frühzeitig weiß, ob die Version im lokalen Cache noch aktuell ist. Der Start-URI enthält optional auch die gewünschte Seite der Mini-App, sodass Deeplinks zu bestimmten Seiten von Mini-Apps erstellt werden können. Über eine Sitemap können Mini-Apps deklarieren, welche ihrer Seiten vom Mini-App-Crawler des Super-App-Anbieters indexierbar sein sollen.
![Im macOS-Finder wird ein Ordner mit den im Cache gespeicherten WX-Dateien der Mini-App „.wxapkg“ angezeigt.](https://web.dev/static/articles/mini-apps/mini-app-about/image/macos-finder-showing-fol-d1f228bbf9ff2.png?authuser=6&hl=de)
Sicherheit und Berechtigungen
Mini-Apps werden vom Super-App-Anbieter überprüft, was bedeutet, dass Nutzer sie als sicherer als Web-Apps empfinden. Sie müssen ihre potenziell erforderlichen Berechtigungen vorab in einer Manifest- oder Mini-App-Konfigurationsdatei deklarieren. Bei einigen Anbietern müssen dann auch erklärt werden, warum die jeweilige Berechtigung erforderlich ist. Mini-Apps können natürlich immer noch lügen, aber es wäre schwierig zu begründen, warum sie versuchen, auf Bewegungssensoren zuzugreifen, ohne dass der Nutzer einen offensichtlichen Grund hat. Der Anreiz, Nutzer per Fingerabdruck zu identifizieren, ist im Vergleich zum Web deutlich geringer, da der Nutzer in der Regel sowieso bereits in der Super-App angemeldet ist (siehe Identität, Bezahlung und sozialer Graph).
Immer wenn eine Mini-App einen Vorgang ausführt, der eine spezielle Berechtigung erfordert, wird dem Nutzer eine Aufforderung angezeigt, die, sofern von der Plattform erzwungen, auch die Nutzungsbegründung enthält, wie vom Entwickler angegeben. Der folgende Screenshot zeigt die Mini-App „Douyin-Demo“, in der der Nutzer um die Berechtigung zur Freigabe seines Standorts gebeten wird. In einigen Super-Apps gibt es auch eine imperative API, mit der Mini-Apps Berechtigungen anfordern können, ohne sie sofort zu verwenden, oder nur den Status einer Berechtigung zu prüfen. Dies kann sogar eine API zum Öffnen der zentralen Berechtigungseinstellungen für Super-Apps umfassen, die den Website-Einstellungen von Chrome entsprechen. Mini-Apps müssen außerdem im Voraus die Herkunft aller Server deklarieren, von denen sie möglicherweise Daten anfordern.
![Die Mini-App von Douyin zeigt eine Aufforderung zur Standortbestimmung mit zwei Optionen: „Nicht zugelassen“ und „Zugelassen“.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-douyin-demo-mini-app-bab6b3dbfe49e.png?authuser=6&hl=de)
Zugriff auf leistungsstarke Funktionen
Die Hosting-Super-App bietet Zugriff auf leistungsstarke APIs über eine JavaScript-Bridge, die in die von der Super-App angebotene WebView eingeschleust wird (siehe Bausteine und Kompatibilität). Diese JavaScript-Brücke bietet Hooks für die APIs des Betriebssystems. Beispielsweise wird eine Mini-App-JavaScript-Funktion wie getConnectedWifi()
– die Fähigkeit einer Mini-App, den Namen des derzeit aktiven WLANs abzurufen – im Hintergrund über die getConnectionInfo()
API von Android oder die CNCopyCurrentNetworkInfo()
API für iOS ermöglicht. Weitere Beispiele für leistungsstarke Geräte-APIs, die in gängigen Super-Apps zur Verfügung stehen, sind Bluetooth, NFC, iBeacon, GPS, Systemzwischenablage, Ausrichtungssensoren, Akkuinformationen, Kalenderzugriff, Telefonbuchzugriff, Steuerung der Bildschirmhelligkeit, Zugriff auf Dateisystem, Vibrationshardware für physisches Feedback, Kamera- und Mikrofonzugriff, Bildschirmaufzeichnung und Screenshoterstellung, Netzwerkstatus, UDP-Sockets, Barcodescans, Informationen zum Gerätespeicher und mehr.
![Die Mini-App von WeChat Demo zeigt einen Schieberegler, mit dem die Helligkeit des Geräts ganz nach oben gesteuert wird.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-wechat-demo-mini-app-964b40a49071.png?authuser=6&hl=de)
Zugriff auf Cloud-Dienste
Viele Super-Apps bieten auch "serverlosen" Zugriff auf Cloud-Dienste des Super-Anwendungsanbieters, die neben reinem Cloud-Computing und Cloud-Speicher häufig auch übergeordnete Aufgaben wie Textübersetzung, Objekterkennung oder Inhaltsklassifizierung in Bildern, Spracherkennung oder andere Aufgaben des maschinellen Lernens umfassen. Mini-Apps können mit Anzeigen monetarisiert werden, die üblicherweise von Super-App-Anbietern zur Verfügung gestellt werden. Super-App-Plattformen stellen in der Regel auch Cloud-Analysedaten bereit, sodass Mini-App-Entwickler besser verstehen können, wie Nutzer mit ihren Anwendungen interagieren.
Identität, Zahlung, Social Graph
Ein sehr wichtiges Merkmal von Mini-Apps sind die Informationen zu Identität und Social Graph, die von der Super-App geteilt werden. Super-Apps wie Douyin oder WeChat begannen im weitesten Sinne als soziale Netzwerke, auf denen Nutzer eine (manchmal sogar von einer Regierung verifizierte) Identität, ein Freundes- oder Followernetzwerk und häufig auch Zahlungsdaten gespeichert sind. Beispielsweise kann eine Shopping-Mini-App alle Zahlungen direkt über die Zahlungs-APIs der Super-App verarbeiten und nach Einwilligung des Nutzers Nutzerdaten wie Versandadresse, Telefonnummer und vollständiger Namen abrufen, ohne dass der Nutzer das Formular mühsam ausfüllen muss. Unten sehen Sie die Walmart-Mini-App, die in WeChat ausgeführt wird. Sie wurde zum ersten Mal geöffnet und begrüßt mich mit einem bekannten Gesicht.
![Die Mini-App von Walmart mit dem Gesicht und dem Namen des Autors auf dem Tab „Ich“.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-walmart-mini-app-show-87a18e926c07a.png?authuser=6&hl=de)
Mini-Apps können sehr beliebt werden, indem Nutzer ihre Erfolge wie Highscores in einem Spiel teilen und ihre Kontakte über Status-Updates herausfordern. Die Mini-App ist dann nur einen Fingertipp entfernt, sodass Nutzer problemlos am Wettbewerb teilnehmen können, und die Mini-App vergrößert dadurch ihre Reichweite.
Danksagungen
Dieser Artikel wurde von Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent und Keith Gu verfasst.