Mini-App-Entwicklertools

Für Entwickler

Nachdem ich Mini-Apps per se behandelt habe, möchte ich mich auf die Entwicklerfreundlichkeit der verschiedenen Super-App-Plattformen konzentrieren. Die Entwicklung von Mini-Apps auf allen Plattformen erfolgt in IDEs, die von den Super-App-Plattformen kostenlos zur Verfügung gestellt werden. Es gibt noch weitere, aber ich möchte mich auf die vier beliebtesten konzentrieren und zum Vergleich eine fünfte für die Schnellinfo-App verwenden.

IDEs für Mini-Apps

Wie die Super-Apps sind auch die meisten IDEs nur auf Chinesisch verfügbar. Sie sollten die chinesische Version installieren und nicht die manchmal verfügbare englische (oder eine Version aus Übersee), da diese möglicherweise nicht auf dem neuesten Stand ist. Wenn Sie macOS-Entwickler sind, beachten Sie, dass nicht alle IDEs signiert sind. Das bedeutet, dass macOS das Installationsprogramm nicht ausführen kann. Sie können diese Funktion auf eigenes Risiko umgehen, wie in der Apple-Hilfe beschrieben.

Startprojekte für Mini-Apps

Damit Sie schnell mit der Entwicklung von Mini-Apps beginnen können, bieten alle Super-App-Anbieter Demo-Apps an, die sofort heruntergeladen und getestet werden können. Diese sind manchmal auch in den Assistenten „Neues Projekt“ der verschiedenen IDEs integriert.

Entwicklungsablauf

Nachdem Sie die IDE gestartet und eine (Demo-)Mini-App geladen oder erstellt haben, müssen Sie sich zuerst anmelden. Normalerweise müssen Sie nur einen QR-Code mit der Super App scannen, in der Sie bereits angemeldet sind, der von der IDE generiert wird. Sie müssen nur sehr selten ein Passwort eingeben. Sobald Sie angemeldet sind, kennt die IDE Ihre Identität und Sie können mit dem Programmieren, Entwickeln, Testen und Einreichen Ihrer App zur Überprüfung beginnen. Im Folgenden sehen Sie Screenshots der fünf IDEs, die im obigen Abschnitt erwähnt wurden.

Das Fenster der WeChat DevTools-Anwendung mit Simulator, Code-Editor und Debugger
WeChat DevTools mit Simulator, Code-Editor und Debugger.
Das Fenster der Alipay DevTools-Anwendung mit Code-Editor, Simulator und Debugger
Alipay DevTools mit Code-Editor, Simulator und Debugger.
Baidu DevTools-Anwendungsfenster mit Simulator, Code-Editor und Debugger
Baidu DevTools mit Simulator, Code-Editor und Debugger.
Das Fenster der ByteDance DevTools-Anwendung mit Simulator, Code-Editor und Debugger
ByteDance DevTools mit Simulator, Code-Editor und Debugger.
Fenster der App DevTools-Anwendung mit Code-Editor, Simulator und Debugger
Schnelle App-Entwicklertools mit Code-Editor, Simulator und Debugger.

Wie Sie sehen, sind die grundlegenden Komponenten aller IDEs sehr ähnlich. Sie haben immer einen Code-Editor, der auf dem Monaco-Editor basiert, demselben Projekt, das auch VS Code unterstützt. Alle IDEs haben einen Debugger, der auf der Chrome-Entwicklertools-Benutzeroberfläche basiert und einige Modifikationen enthält. Weitere Informationen dazu finden Sie später im Abschnitt Debugger. Die IDEs per se werden entweder als NW.js- oder als Electron-Apps implementiert. Die Simulatoren in den IDEs werden als NW.js-<webview>-Tag oder Electron-<webview>-Tag realisiert, die wiederum auf einem Chromium-<webview>-Tag basieren. Wenn Sie sich für die internen Funktionen der IDE interessieren, können Sie sie oft einfach mit den Chrome DevTools prüfen. Verwenden Sie dazu die Tastenkombination Strg + Alt + I (oder Befehlstaste + Wahltaste + I auf einem Mac).

In den Chrome DevTools wurden die DevTools von Baidu geprüft, die das Webview-Tag des Simulators im Bereich „Elemente“ der Chrome DevTools anzeigen.
Bei der Prüfung der Baidu DevTools mit den Chrome-Entwicklertools wird festgestellt, dass der Simulator als Electron-<webview>-Tag implementiert ist.

Tests und Fehlerbehebung auf Simulatoren und echten Geräten

Der Simulator ist mit dem Gerätemodus in den Chrome-Entwicklertools vergleichbar. Sie können verschiedene Android- und iOS-Geräte simulieren, den Maßstab und die Geräteausrichtung ändern sowie verschiedene Netzwerkzustände, Speichermangel, ein Barcodeleseereignis, eine unerwartete Beendigung und den Dunkelmodus simulieren.

Der integrierte Simulator reicht zwar aus, um einen groben Eindruck davon zu bekommen, wie sich die App verhält, aber On-Device-Tests sind wie bei normalen Webanwendungen unerlässlich. Das Testen einer Mini-App in der Entwicklungsphase ist nur ein QR-Code-Scan entfernt. In ByteDance DevTools führt das Scannen eines von der IDE dynamisch generierten QR-Codes mit einem echten Gerät beispielsweise zu einer cloudbasierten Version der Mini-App, die dann sofort auf dem Gerät getestet werden kann. Bei ByteDance wird über die URL hinter dem QR-Code (Beispiel) zu einer gehosteten Seite (Beispiel) weitergeleitet, die Links mit speziellen URI-Schemata wie snssdk1128:// enthält, um eine Vorschau der Mini-App in den verschiedenen ByteDance-Super-Apps wie Douyin oder Toutiao aufzurufen (Beispiel). Andere Super App-Anbieter rufen keine Zwischenseite auf, sondern öffnen die Vorschau direkt.

ByteDance DevTools mit einem QR-Code, den Nutzer mit der Douyin App scannen können, um die aktuelle Mini-App auf ihrem Gerät aufzurufen
In den ByteDance DevTools wird ein QR-Code angezeigt, den der Nutzer mit der Douyin App scannen kann, um sofort On-Device-Tests durchzuführen.
Zwischen-Landingpage für die Vorschau einer ByteDance-Mini-App in verschiedenen Super-Apps des Unternehmens, die in einem regulären Desktop-Browser geöffnet wurde, um den Prozess zu entschlüsseln.
Zwischen-Landingpage von ByteDance für die Vorschau einer Mini-App (in einem Desktop-Browser geöffnet, um den Ablauf zu veranschaulichen).

Eine noch überzeugendere Funktion ist die cloudbasierte Remote-Fehlerbehebung in der Vorabversion. Nach dem Scannen eines speziellen, ebenfalls in der IDE generierten QR-Codes wird die Mini-App auf dem physischen Gerät geöffnet. Auf dem Computer wird ein Chrome DevTools-Fenster für die Remote-Fehlerbehebung ausgeführt.

Ein Smartphone mit einer Mini-App, bei der Teile der Benutzeroberfläche vom ByteDance DevTools-Debugger auf einem Laptop hervorgehoben werden.
Mini-App drahtlos per Remote-Debugging mit den ByteDance-Entwicklertools auf einem echten Gerät debuggen.

Debugger

Fehlerbehebung bei Elementen

Das Mini-App-Debugging ist für alle Nutzer sehr vertraut, die schon einmal mit den Chrome DevTools gearbeitet haben. Es gibt jedoch einige wichtige Unterschiede, die den Workflow auf Mini-Apps zuschneiden. Anstelle des Elements-Bereichs in den Chrome-Entwicklertools haben Mini-App-IDEs einen benutzerdefinierten Bereich, der auf den jeweiligen HTML-Dialekt zugeschnitten ist. Bei WeChat heißt das Steuerfeld beispielsweise Wxml, was für WeiXin Markup Language steht. In Baidu DevTools wird es Swan-Element genannt. In den ByteDance DevTools wird es Bxml genannt. Alipay nennt es AXML und Quick App bezeichnet den Bereich einfach als UX. Später werde ich näher auf diese Markup-Sprachen eingehen.

Bild mit dem Wxml-Steuerfeld von WeChat DevTools prüfen Es wird angezeigt, dass das verwendete Tag ein „image“-Tag ist.
<image>-Element mit WeChat DevTools prüfen.

Benutzerdefinierte Elemente im Detail

Wenn Sie die WebView auf einem echten Gerät über about://inspect/#devices prüfen, sehen Sie, dass die WeChat DevTools die Wahrheit absichtlich verschleiern. In den WeChat DevTools wurde ein <image> angezeigt, aber ich sehe ein benutzerdefiniertes Element namens <wx-image> mit einem <div> als einzigem untergeordneten Element. Interessant ist, dass dieses benutzerdefinierte Element kein Shadow-DOM verwendet. Weitere Informationen zu diesen Komponenten finden Sie später.

WeChat-Mini-App, die auf einem echten Gerät ausgeführt wird, mit den Chrome DevTools prüfen In den WeChat-Entwicklertools wird angezeigt, dass ich mir ein „image“-Tag ansehe. In den Chrome-Entwicklertools wird jedoch angezeigt, dass es sich tatsächlich um ein benutzerdefiniertes „wx-image“-Element handelt.
Bei der Prüfung eines <image>-Elements mit den WeChat DevTools stellt sich heraus, dass es sich tatsächlich um ein benutzerdefiniertes <wx-image>-Element handelt.

CSS-Fehlerbehebung

Ein weiterer Unterschied ist die neue Längeneinheit rpx für responsive Pixel in den verschiedenen CSS-Dialekten. Weitere Informationen zu dieser Einheit finden Sie später. WeChat DevTools verwendet geräteunabhängige CSS-Längeneinheiten, um die Entwicklung für verschiedene Gerätegrößen intuitiver zu gestalten.

In den WeChat DevTools wird eine Ansicht mit einem oberen und unteren Abstand von 200 rpx geprüft.
In den WeChat-Entwicklertools das in responsiven Pixeln (200rpx 0) einer Ansicht angegebene Padding prüfen.

Leistungsprüfung

Die Leistung steht bei Mini-Apps im Mittelpunkt. Daher ist es nicht verwunderlich, dass die WeChat DevTools und einige andere DevTools ein integriertes Lighthouse-basiertes Analysetool haben. Die Schwerpunkte der Prüfungen sind „Gesamt“, „Leistung“, „Nutzerfreundlichkeit“ und „Best Practices“. Die Ansicht der IDE kann angepasst werden. Im folgenden Screenshot habe ich den Code-Editor vorübergehend ausgeblendet, um mehr Platz auf dem Bildschirm für das Analysetool zu haben.

Leistungsprüfung mit dem integrierten Analysetool ausführen Die Bewertungen für „Gesamt“, „Leistung“, „Nutzerfreundlichkeit“ und „Best Practices“ haben jeweils 100 Punkte.
Das integrierte Analysetool in den WeChat DevTools mit den Werten „Gesamt“, „Leistung“, „Nutzerfreundlichkeit“ und „Best Practices“.

API-Mocking

Anstatt dass Entwickler einen separaten Dienst einrichten müssen, ist das Mocking von API-Antworten direkt Teil der WeChat DevTools. Über eine nutzerfreundliche Oberfläche können Entwickler API-Endpunkte und die gewünschten Mock-Antworten einrichten.

Mock-Antwort für einen API-Endpunkt in WeChat DevTools einrichten
Die integrierte API-Antwort-Mocking-Funktion von WeChat DevTools.

Danksagungen

Dieser Artikel wurde von Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent und Keith Gu geprüft.