La publication par le W3C des spécifications de la version 1.0 de WebAssembly indique que la plate-forme web, jusque-là disponible en version draft, permet désormais aux langages de haut niveau comme C, C++, et Rust d’être exécutés dans le navigateur. Ce standard du World Wide Web pour le développement d’applications au format binaire a la réputation d’améliorer de manière conséquente la performance des applications Web.

Le document officiel publié par le World Wide Web Consortium (W3C) définissant la spécification de base de WebAssembly indique que WebAssembly 1.0 est une machine de bas niveau simulant de manière fidèle la fonction des microprocesseurs. WebAssembly est un format de code portable de bas niveau combinant exécution efficace et représentation compacte. En utilisant la compilation JIT (Just-In-Time), les applications WebAssembly s'exécutent à une vitesse proche de celle du code compilé pour une plate-forme native.

Plus tôt ce mois-ci, le W3C a officiellement livré deux autres spécifications relatives à WebAssembly, qui étaient encore toutes deux en version draft :

  • - WebAssembly Web API : elle définit une interface basée sur Promise pour exécuter une ressource .wasm. La structure d'une ressource .wasm permet de démarrer l'exécution avant que la ressource entière n'ait été récupérée, améliorant encore la réactivité des applications WebAssembly

  • - WebAssembly JavaScript Interface : cette API JavaScript permet d’appeler et de transmettre des paramètres aux fonctions de WebAssembly. Dans les navigateurs, les interactions de WebAssembly avec l'environnement hôte sont gérées par JavaScript. Cela signifie que WebAssembly s'appuie sur le modèle de sécurité JavaScript.

Conçue comme cible de compilation pour n'importe quel langage de programmation, WebAssembly dispose du soutien des principaux éditeurs de navigateurs dont Apple, Google, Microsoft et Mozilla. WebAssembly 1.0 est disponible dans les moteurs des navigatuers de ces quatre fournisseurs.

La technologie, introduite pour la première fois en 2015, est considérée comme viable depuis mars 2017. Afin d’assurer un avenir à WebAssembly en dehors du navigateur, Mozilla, Red Hat, Intel et Fastly ont créé en novembre 2019 la Bytecode Alliance afin de collaborer aux standards du bytecode.