L’architecture Component Model qui permet de créer des bibliothèques, des applications et des environnements WebAssembly (Wasm) interopérables, pourrait bientôt grandement évoluer. Selon un billet de blog publié le 26 février par Ryan Hunt, développeur chez Mozilla, ce modèle en développement depuis 2021, pourrait en effet apporter des fonctionnalités essentielles. A savoir : un artefact exécutable autonome standardisé, la prise en charge de plusieurs langages et chaînes d'outils, la gestion du chargement et de la liaison du code Wasm, et le support de l'utilisation des API web. « Un composant WebAssembly définit une API de haut niveau qui est implémentée avec un ensemble de code Wasm de bas niveau », a expliqué M. Hunt. « À l'heure actuelle, nous pensons que les WebAssembly Components constitueraient un pas dans la bonne direction pour le web », a-t-il encore écrit.

Selon le développeur, Mozilla travaille avec le WebAssembly Community Group pour concevoir cette architceture, que Google évalue aussi actuellement. Dans sa publication, M. Hunt affirme que malgré l'ajout de fonctionnalités comme la mémoire partagée, la gestion des exceptions et les instructions de mémoire en masse depuis son introduction en 2017, WebAssembly n'a pas réussi à s'imposer plus largement sur le web. « Il y a plusieurs raisons à cela, mais le problème principal est que WebAssembly est un langage de seconde classe sur le Web », a regretté M. Hunt. « Malgré toutes les dernières fonctionnalités, il n'est toujours pas intégré à la plateforme Web aussi étroitement qu'il le devrait. »

Une expérience développeur à améliorer

Le standard a été positionné comme un format binaire destiné à améliorer les performances des applications web. Il a également servi de cible de compilation pour d'autres langages. Mais M. Hunt a fait valoir que le manque d'intégration de WebAssembly avec le web conduit à une expérience développeur moins bonne, de sorte que ceux-ci ne l'utilisent que lorsqu'ils en ont absolument besoin.

« Souvent, JavaScript est plus simple et suffit amplement », a reconnu M. Hunt. « Cela signifie que les utilisateurs de Wasm sont généralement de grandes entreprises disposant de ressources suffisantes pour justifier l'investissement, ce qui limite les avantages de WebAssembly à une petite partie seulement de la communauté web [...] Contrairement à WebAssembly, JavaScript présente des avantages en matière de chargement de code et d'utilisation des API web, ce qui en fait un langage de premier ordre sur le web. Sans le modèle de composant, WebAssembly est trop compliqué pour être utilisé sur le web », a-t-il affirmé, ajoutant que « les compilateurs standard ne produisent pas de WebAssembly fonctionnant sur le web ».