Ce qui a bien fonctionné pour les mini-applications
Dans ce chapitre, je souhaite examiner les leçons que j'ai tirées de mes recherches sur les mini-applications du point de vue d'un développeur Web, ou répondre à la question "Que signifie développer des mini-applications ?".
Composants
Plutôt que de réinventer la roue et de demander aux développeurs de créer une autre implémentation de paradigmes d'UI courants tels que les onglets, les accordéons, les carrousels, etc., les mini-applications sont livrées 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 sont listées dans le chapitre sur les composants de mini-application. Dans un monde idéal, les bibliothèques de composants sur le Web seraient conçues de manière à pouvoir les mélanger librement. En pratique, trop souvent, il existe un certain verrouillage concernant un système de conception que vous devez acheter 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 être facilement 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 intentionnellement. Il semble judicieux de les trouver et de les utiliser.
Modèle-vue-vue modèle
Le modèle d'architecture modèle-vue-vue modèle (MVVM), qui facilite la séparation du développement de l'interface utilisateur graphique (la vue) via un langage de balisage du développement de la logique backend (le modèle), signifie que la vue ne dépend d'aucune plate-forme de modèle spécifique. Bien que le modèle présente certains inconvénients documentés, il fonctionne généralement très bien pour les applications de la complexité des mini-applications. Il peut s'avérer particulièrement efficace avec des bibliothèques de modèles riches (voir le chapitre suivant).
Pensée par page
Le débogage des mini-applications montre qu'elles sont essentiellement des applications multipages (MPA). Cela présente de nombreux avantages, par exemple, il permet un routage simple et un style par page sans conflit. Les architectures MPA ont été appliquées avec succès aux applications Web progressives. Penser en termes de pages permet également de gérer les ressources telles que les fichiers CSS et JavaScript de chaque page, ainsi que d'autres composants tels que les images et les vidéos. Plus important encore, cette méthode de compilation vous permet de bénéficier sans frais de la division du code basée sur les itinéraires si vous ne chargez rien d'autre. Dans ce cas, chaque page ne charge strictement que ce dont elle a besoin pour fonctionner.
Processus de compilation
Les mini-applications ne comportent aucun processus de compilation visible. Sur le Web, les outils de compilation modernes tels que Snowpack exploitent le système de modules (également appelé ESM) intégré à JavaScript pour éviter les tâches inutiles et rester rapides, quelle que soit la taille du projet. Bien que les technologies telles que les bundles Web soient encore balbutiantes, elles peuvent facilement être ajoutées au processus de compilation.
Des fonctionnalités puissantes
La plate-forme Web a récemment acquis de nombreuses nouvelles fonctionnalités. L'accès aux appareils via Bluetooth, USB, HID, série et NFC est désormais possible. Lorsque les mini-applications s'exécutent dans des WebViews et dépendent d'un pont JavaScript, sur le Web, ces fonctionnalités puissantes sont disponibles directement. Vous ne programmez donc pas contre une API fournie par le pont JavaScript, mais contre l'API du navigateur sans acteur intermédiaire.
Remerciements
Cet article a été relu par Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent et Keith Gu.