Fin 2019, dans un effort commun visant à faire de WebAssembly un runtime informatique multiplateforme, les entreprises Mozilla, Fastly, Intel et Red Hat ont annoncé le lancement de la Bytecode Alliance. Cette initiative architecturée autour de WebAssembly est axée sur la fourniture d’un bytecode sécurisé par défaut qui peut être exécuté depuis un navigateur Web, un ordinateur de bureau ou une plateforme IoT/embarquée.
Pour rappel, WebAssembly a été présenté comme une architecture de jeu d’instructions virtuel avec de nombreux cas d’utilisation capable de prendre du code écrit dans des langages de programmation autres que JavaScript et d’exécuter ce code sur une plateforme spécifique – du moins à l’origine -, un navigateur en l’occurrence. Cette solution devrait également permettre aux applications complexes – telles que les jeux vidéo immersifs en 3D, le design informatisé ou l’édition d’images et de vidéos – de fonctionner de façon optimale sur les plateformes cibles. Grâce à WebAssembly, des développeurs seraient par exemple en mesure de coder leurs applications en C, C++ ou en Rust et de faire exécuter ces programmes à la vitesse native sur un navigateur Web, sans avoir à repasser par JavaScript avec les contraintes que cela impose.
Selon les promoteurs l’initiative, la montée en puissance du Cloud et des périphériques IdO fait que les développeurs exécutent du code non fiable dans de nouveaux environnements, ce qui soulève de nouveaux problèmes, notamment en matière de sécurité et de portabilité. La Bytecode Alliance devra fournir une base permettant aux développeurs d’exécuter en toute confiance du code non fiable sur n’importe quelle infrastructure, système d’exploitation et périphérique. Cette communauté open source se focalisera sur la mise en place d’un environnement d’exécution et de chaînes d’outils linguistiques associées – incluant cargo-wasi, wat et wasmparser – qui offrent sécurité, efficacité et modularité sur une large gamme d’architectures et de périphériques. Le projet devrait s’appuyer sur les normes existantes telles que WebAssembly et WebAssembly System Interface (WASI).
De nouveaux arrivants
De nouveaux noms ont rejoint l'Alliance. Outre Microsoft, les nouveaux membres sont: Arm, DFINITY Foundation, Embark Studios, Google, Shopify et University of California San Diego.
Dans une déclaration, Bobby Holley, ingénieur distingué chez Mozilla et membre du conseil d'administration de Bytecode Alliance, a décrit le développement logiciel aujourd'hui comme un ensemble de compromis difficiles. « Si vous voulez construire quelque chose de grand, il n’est pas réaliste de créer chaque composant à partir de zéro », a déclaré Holley. « Mais le fait de s'appuyer sur une chaîne d'approvisionnement complexe de composants provenant d'autres parties permet à un défaut n'importe où dans cette chaîne de compromettre la sécurité et la stabilité de l'ensemble du programme. Mozilla a aidé à créer WebAssembly pour permettre au Web de se développer au-delà de JavaScript et d'exécuter plus de types de logiciels à des vitesses plus rapides. Mais au fil de sa maturation, il est devenu clair que les propriétés techniques de WebAssembly – en particulier l'isolation de la mémoire – avaient également le potentiel de transformer le développement logiciel au-delà du navigateur. Plusieurs autres organisations partageaient ce point de vue et nous nous sommes réunis pour lancer la Bytecode Alliance en tant que partenariat industriel informel à la fin de 2019 ».
« Des outils comme les conteneurs peuvent fournir un certain degré d'isolation, mais ils ajoutent des frais généraux substantiels et sont peu pratiques à utiliser avec la granularité par fournisseur. Et toutes ces dynamiques renforcent les avantages des grandes entreprises qui disposent des ressources nécessaires pour gérer et auditer soigneusement leurs chaînes d'approvisionnement ».
La Bytecode Alliance considère WebAssembly comme un moyen de rendre le code composable, sûr et rapide sans sacrifices. Dans un communiqué, elle a déclaré :
« Ces organisations partagent la vision d’un écosystème WebAssembly qui corrige les fissures dans les fondations logicielles d’aujourd’hui qui empêchent l’industrie et ses chaînes d’approvisionnement logicielles d'aller vers un avenir sécurisé, performant, multiplateforme et multiappareil. Les membres de la Bytecode Alliance estiment qu'une collaboration multipartite efficace est essentielle pour réaliser cette vision des fondations logicielles qui permettent à la sécurité, à l'efficacité et à la modularité de coexister sur la plus large gamme de dispositifs et d'architectures.
« La Bytecode Alliance, fondée en 2019, a contribué à attirer l'attention sur les faiblesses inhérentes aux modèles prédominants de création de logiciels, qui reposent fortement sur la composition de milliers de modules tiers sans frontières de sécurité entre eux. Ces faiblesses dans la chaîne d'approvisionnement des logiciels ont historiquement été déterminantes pour violer les systèmes gouvernementaux, les services d'infrastructure critiques et un grand nombre d'entreprises, ainsi que pour voler les informations personnelles de centaines de millions, voire de milliards de personnes. La résolution de ces défis exigera des efforts dans de nombreuses industries. Avec un modèle de gouvernance ouvert et une liste croissante d'organisations membres, la Bytecode Alliance intensifiera ses efforts pour apporter des solutions à cet espace à l'appui de sa mission.
« Les organisations passionnées par la contribution à cette mission et la construction de nouvelles fondations plus sûres pour le cloud, la périphérie, l'Internet des objets et de nombreux autres environnements et plateformes sont invitées à postuler pour devenir membres. Les demandes d'adhésion seront examinées sur une base continue, mais celles soumises dans un proche avenir auront la possibilité de participer aux élections du conseil d'administration au second semestre 2021 ».
Les membres fondateurs ont partagé un tas d'outils WASM avec Bytecode Alliance, y compris des environnements d'exécution, des composants d'exécution et autres.
Maintenant avec Microsoft, Google et Mozilla à bord, la Bytecode Alliance bénéficie du soutien de trois des quatre principaux fournisseurs de navigateurs. L'éditeur de Safari Apple est le seul fournisseur majeur de navigateurs qui est absent. Avec un soutien plus large, l'alliance se donne une meilleure chance de survie à long terme.
« WebAssembly et la nouvelle spécification WebAssembly System Interface (WASI) permettent aux solutions cloud natives de devenir plus sécurisées par défaut et aident à résoudre les problèmes informatiques dans une variété d'environnements », a déclaré Ralph Squillace, directeur principal du programme Microsoft d'Azure Core Upstream et membre du conseil d'administration de Bytecode Alliance.
WASI est une interface système pour WebAssembly qui permet au code en dehors d'un navigateur de communiquer avec plusieurs systèmes d'exploitation.
Le travail de Microsoft sur WebAssembly inclut sa sortie de Blazor WebAssembly, qui permet aux développeurs C# et .NET de créer des applications qui s'exécutent dans le navigateur avec WebAssembly, mais fonctionnent comme une application de bureau native, également appelée Progressive Web Apps.
Blazor WebAssembly est l'une des quatre versions du projet Blazor de Microsoft, qui comprend le rendu Blazor Server pris en charge pour les applications Web, un moteur de rendu Electron et les liaisons expérimentales Mobile Blazor récemment publiées pour la création d'applications iOS et Android natives en utilisant C# et .NET au lieu de JavaScript. .
Sources : Bytecode Alliance, Mozilla
Voir aussi :
Wasmer : un runtime open source pour l'exécution de WebAssembly sur un serveur, tout en prenant en charge l'API Wasm-C
Node.js 14 est disponible avec un support expérimental de WebAssembly System Interface (WASI), la fonctionnalité "rapport de diagnostic" est maintenant stable
Zig 0.6.0 est disponible, le langage de programmation polyvalent prend en charge LLVM 10, WebAssembly, Windows et bien d'autres
Microsoft, Google et ARM viennent grossir les rangs de la Bytecode Alliance
Pour faire avancer WebAssembly au-delà du navigateur
Microsoft, Google et ARM viennent grossir les rangs de la Bytecode Alliance
Pour faire avancer WebAssembly au-delà du navigateur
Le , par Stéphane le calme
Une erreur dans cette actualité ? Signalez-nous-la !