Programmer une mini-application

Dans ce chapitre, je souhaite revenir sur les enseignements que j'ai tirés de la recherche de mini-applications du point de vue d'un développeur Web, ou répondre à la question "Que signifie le développement d'une mini-application ?".

Plutôt que de réinventer la roue et de demander aux développeurs de créer une autre implémentation de paradigmes d'interface utilisateur courants tels que les onglets, les accordéons, les carrousels, etc., les mini-applications sont fournies avec une sélection par défaut de composants extensibles si vous en avez besoin. Sur le Web, il existe également de nombreuses options, dont certaines que j'ai répertoriées dans le chapitre sur les mini-composants d'application. Dans l'idéal, les bibliothèques de composants sur le Web ont été conçues pour que vous puissiez les mélanger librement. En pratique, il existe trop souvent une certaine dépendance vis-à-vis d'un système de conception lorsque vous utilisez un composant, ou la bibliothèque de composants est distribuée de manière à être tout ou rien, mais aucun composant individuel ne peut facilement être ajouté à un projet. Il existe cependant des composants atomiques que vous pouvez utiliser de manière isolée, ou des bibliothèques telles que generic-components qui ne sont pas stylisées volontairement. Trouver un moyen de les utiliser semble être une bonne idée.

Modèle-vue-vue

Le modèle architectural model-view-viewmodel (MVVM), qui facilite la séparation du développement de l'interface utilisateur graphique (la vue) via un langage de balisage et du développement de la logique backend (le modèle), signifie que la vue ne dépend pas d'une plate-forme de modèle spécifique. Bien qu'il existe certains inconvénients de ce modèle, il fonctionne en général très bien pour les applications aussi complexes que les mini-applications. Il est particulièrement utile avec les bibliothèques de modèles enrichies (voir le chapitre suivant).

Pensée sur la page

Le débogage des mini-applications montre qu'il s'agit essentiellement d'applications multipages (MPA). Cela présente de nombreux avantages. Par exemple, il permet un routage simple et un style par page sans conflit. Certains ont appliqué avec succès les architectures MPA aux progressive web apps. Penser dans les pages permet également de gérer des ressources comme les fichiers CSS et JavaScript de chaque page, ainsi que d'autres éléments tels que les images et les vidéos. Plus important encore, cette méthode vous permet de bénéficier d'un fractionnement de code basé sur le routage sans frais si vous ne chargez rien d'autre. Dans ce cas, par définition, chaque page ne charge que ce dont elle a besoin pour fonctionner.

Processus de compilation

Les mini-applications n'ont aucun processus de compilation visible. Sur le Web, les outils de compilation modernes tels que Snowpack exploitent le système de modules intégré de JavaScript (appelé ESM) pour éviter les tâches inutiles et rester rapides, quelle que soit la taille du projet. Bien que des technologies telles que les Web Bundles n'en soient qu'aux prémices, elles peuvent facilement être ajoutées au processus de compilation.

Fonctionnalités puissantes

La plate-forme Web a récemment développé de nombreuses nouvelles fonctionnalités. L'accès aux appareils via Bluetooth, USB, HID, serial et NFC est désormais possible. Lorsque les mini-applications s'exécutent dans des classes WebView et dépendent d'un pont JavaScript, sur le Web, ces puissantes fonctionnalités sont disponibles directement. Vous ne pouvez donc pas programmer avec une API fournie par le pont JavaScript, mais avec l'API du navigateur sans acteur intermédiaire.

Remerciements

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