Outils de développement pour mini-applications

Expérience développeur

Maintenant que j'ai abordé les mini-applications en tant que telles, je souhaite me concentrer sur l'expérience développeur pour les différentes plates-formes de super-applications. Le développement de mini-applications sur toutes les plates-formes s'effectue dans des IDE fournis sans frais par les plates-formes de super-applications. Bien qu'il en existe d'autres, je souhaite me concentrer sur les quatre plus populaires, et sur une cinquième pour la comparaison avec Quick App.

IDE pour mini-applications

Comme pour les super-applications, la majorité des IDE ne sont disponibles qu'en chinois. Vous devez vous assurer d'installer la version chinoise et non une version anglaise (ou étrangère) parfois disponible, car elle peut ne pas être à jour. Si vous êtes un développeur macOS, sachez que tous les IDE ne sont pas signés, ce qui signifie que macOS refuse d'exécuter le programme d'installation. Vous pouvez, à vos propres risques, contourner ce problème, comme indiqué dans l'aide Apple.

Projets de démarrage pour mini-applications

Pour commencer rapidement à développer des mini-applications, tous les fournisseurs de super-applications proposent des applications de démonstration qui peuvent être téléchargées et testées immédiatement, et qui sont parfois également intégrées aux assistants "Nouveau projet" des différents IDE.

Flux de développement

Après avoir lancé l'IDE et chargé ou créé une mini-application (de démonstration), la première étape consiste toujours à se connecter. En général, il vous suffit de scanner un code QR avec la super-application (où vous êtes déjà connecté) généré par l'IDE. Il est très rare que vous deviez saisir un mot de passe. Une fois connecté, l'IDE connaît votre identité et vous permet de commencer à programmer, déboguer, tester et envoyer votre application pour examen. Vous trouverez ci-dessous des captures d'écran des cinq IDE mentionnés dans le paragraphe ci-dessus.

Fenêtre de l'application WeChat DevTools affichant le simulateur, l'éditeur de code et le débogueur.
Outils de développement WeChat avec simulateur, éditeur de code et débogueur.
Fenêtre de l'application Alipay DevTools affichant l'éditeur de code, le simulateur et le débogueur.
Outils de développement Alipay avec éditeur de code, simulateur et débogueur.
Fenêtre de l'application Baidu DevTools affichant le simulateur, l'éditeur de code et le débogueur.
Outils de développement Baidu avec simulateur, éditeur de code et débogueur.
Fenêtre de l'application ByteDance DevTools affichant le simulateur, l'éditeur de code et le débogueur.
Outils de développement ByteDance avec simulateur, éditeur de code et débogueur.
Fenêtre de l'application Quick App DevTools affichant l'éditeur de code, le simulateur et le débogueur.
Outils de développement Quick App avec éditeur de code, simulateur et débogueur.

Comme vous pouvez le voir, les composants fondamentaux de tous les IDE sont très similaires. Vous disposez toujours d'un éditeur de code basé sur l'éditeur Monaco, le même projet qui alimente également VS Code. Dans tous les IDE, il existe un débogueur basé sur l'interface des Outils pour les développeurs Chrome avec quelques modifications, dont nous parlerons plus tard (voir Débogueur). Les IDE en tant que tels sont implémentés en tant qu'applications NW.js ou Electron. Les simulateurs des IDE sont réalisés sous forme de balise <webview> NW.js ou balise <webview> Electron, qui sont à leur tour basées sur une balise <webview> Chromium. Si vous êtes intéressé par les composants internes de l'IDE, vous pouvez souvent les inspecter simplement avec les Outils pour les développeurs Chrome à l'aide du raccourci clavier Control+Alt+I (ou Command+Option+I sur Mac).

Outils pour les développeurs Chrome utilisés pour inspecter les Outils de développement de Baidu, qui affichent la balise WebView du simulateur dans le panneau &quot;Éléments&quot; des Outils pour les développeurs Chrome.
L'inspection des outils de développement Baidu avec les outils pour les développeurs Chrome révèle que le simulateur est réalisé sous forme de balise <webview> Electron.

Test et débogage sur simulateur et sur appareil réel

Le simulateur est comparable à ce que vous connaissez peut-être du mode Appareil des Outils pour les développeurs Chrome appareil. Vous pouvez simuler différents appareils Android et iOS, modifier l'échelle et l'orientation de l'appareil, mais aussi simuler différents états du réseau, une pression sur la mémoire, un événement de lecture de code-barres, un arrêt inattendu et le mode sombre.

Bien que le simulateur intégré suffise à avoir une idée approximative du comportement de l'application, les tests sur l'appareil, comme pour les applications Web classiques, sont irremplaçables. Il suffit de scanner un code QR pour tester une mini-application en cours de développement. Par exemple, dans les outils de développement ByteDance, le fait de scanner un code QR généré dynamiquement par l'IDE avec un appareil réel permet d'accéder à une version hébergée dans le cloud de la mini-application, qui peut ensuite être testée immédiatement sur l'appareil. Pour ByteDance, l'URL derrière le code QR (exemple) redirige vers une page hébergée (exemple) qui contient des liens avec des schémas d'URI spéciaux, comme, par exemple, snssdk1128://, pour prévisualiser la mini application sur les différentes super-applications ByteDance comme Douyin ou Toutiao (voici un exemple). D'autres fournisseurs de super-applications ne passent pas par une page intermédiaire, mais ouvrent directement l'aperçu.

Outils de développement ByteDance affichant un code QR que l&#39;utilisateur peut scanner avec l&#39;application Douyin pour voir la mini-app actuelle sur son appareil.
Les outils de développement ByteDance affichent un code QR que l'utilisateur peut scanner avec l'application Douyin pour effectuer des tests immédiats sur l'appareil.
Page de destination intermédiaire pour prévisualiser une mini-application ByteDance dans plusieurs super applications de l&#39;entreprise, ouverte dans un navigateur Web classique pour effectuer une rétro-ingénierie du processus.
Page de destination intermédiaire ByteDance pour prévisualiser une mini-application (ouverte sur un navigateur de bureau pour afficher le flux).

Une fonctionnalité encore plus intéressante est le débogage à distance de l'aperçu dans le cloud. Après avoir simplement scanné un code QR spécial généré par l'IDE, la mini-application s'ouvre sur l'appareil physique, avec une fenêtre Outils pour les développeurs Chrome exécutée sur l'ordinateur pour le débogage à distance.

Un téléphone mobile exécutant une mini-appli avec des parties de l&#39;UI mises en évidence par le débogueur ByteDance DevTools exécuté sur un ordinateur portable qui l&#39;inspecte.
Débogage à distance sans fil d'une mini-application sur un appareil réel avec les outils de développement ByteDance.

Debugger

Débogage d'éléments

L'expérience de débogage des mini-applications est très familière pour tous ceux qui ont déjà utilisé Chrome DevTools. Cependant, il existe quelques différences importantes qui adaptent le workflow aux mini-applications. Au lieu du panneau " Elements" des Outils pour les développeurs Chrome, les IDE pour mini-applications disposent d'un panneau personnalisé adapté à leur dialecte HTML particulier. Par exemple, dans le cas de WeChat, le panneau est appelé Wxml, qui signifie WeiXin Markup Language. Dans les outils de développement Baidu, il s'appelle Swan Element. Les outils de développement ByteDance l'appellent it Bxml. Alipay le nomme AXML, et Quick App fait référence au panneau simplement en tant que UX. Je vais aborder ces langages de balisage plus tard.

Inspection d&#39;une image avec le panneau &quot;Wxml&quot; des outils de développement WeChat. Il indique que le tag utilisé est un tag &quot;image&quot;.
Inspection d'un élément <image> avec les outils de développement WeChat.

Éléments personnalisés sous le capot

L'inspection de la WebView sur un appareil réel via about://inspect/#devices révèle que les outils de développement WeChat ont délibérément caché la vérité. Là où les outils de développement WeChat affichaient un <image>, l'élément réel que je regarde est un élément personnalisé appelé <wx-image> avec un <div> comme seul enfant. Il est intéressant de noter que cet élément personnalisé n'utilise pas Shadow DOM. Nous aborderons ces composants plus tard.

Inspection d&#39;une mini-app WeChat exécutée sur un appareil réel avec les Outils pour les développeurs Chrome. Alors que les outils pour les développeurs WeChat indiquent que je consulte une balise &quot;image&quot;, les Outils pour les développeurs Chrome révèlent que je travaille en fait avec un élément personnalisé &quot;wx-image&quot;.
L'inspection d'un élément <image> avec les outils de développement WeChat révèle qu'il s'agit en fait d'un élément personnalisé <wx-image>.

Débogage CSS

Une autre différence est la nouvelle unité de longueur rpx pour les pixels responsifs dans les différents dialectes CSS (nous aborderons cette unité plus tard). Les outils de développement WeChat utilisent des unités de longueur CSS indépendantes de l'appareil pour rendre le développement pour différentes tailles d'appareils plus intuitif.

Inspection d&#39;une vue avec une marge intérieure supérieure et inférieure de 200 rpx dans les outils de développement WeChat.
Inspection du padding spécifié en pixels responsifs (200rpx 0) d'une vue avec les outils de développement WeChat.

Audit des performances

Les performances sont au premier plan pour les mini-applications. Il n'est donc pas surprenant que les outils de développement WeChat et d'autres outils de développement disposent d'un outil d'audit intégré inspiré de Lighthouse. Les domaines d'intérêt des audits sont les suivants : Total, Performances, Expérience et Bonnes pratiques. La vue de l'IDE peut être personnalisée. Dans la capture d'écran ci-dessous, j'ai temporairement masqué l'éditeur de code pour disposer de plus d'espace à l'écran pour l'outil d'audit.

Exécuter un audit des performances avec l&#39;outil d&#39;audit intégré. Les scores indiquent le total, les performances, l&#39;expérience et les bonnes pratiques, chacun sur 100 points.
L'outil d'audit intégré aux outils de développement WeChat affiche les résultats pour les catégories Total, Performances, Expérience et Bonnes pratiques.

Simulation d'API

Au lieu d'obliger le développeur à configurer un service distinct, la simulation des réponses d'API fait directement partie des outils de développement WeChat. Grâce à une interface facile à utiliser, le développeur peut configurer des points de terminaison d'API et les réponses simulées souhaitées.

Configurer une réponse fictive pour un point de terminaison d&#39;API dans les outils de développement WeChat.
Fonctionnalité de simulation de réponse d'API intégrée aux outils de développement WeChat.

Remerciements

Cet article a été examiné par Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent, et Keith Gu.