Pour gérer vos consentements :
Categories: DéveloppeursProjets

WebAssembly promu standard : le meilleur compagnon de JavaScript ?

Un standard web de plus au portefeuille du W3C.

Le consortium a récemment publié la spécification portant sur le cœur de WebAssembly.

Ce langage de représentation intermédiaire (bytecode) exploite un format proche de l’assembleur.

Il sert de cible de compilation pour permettre l’exécution de langages de haut niveau (C, C++ et Rust pour le moment) dans les applications web à une vitesse proche du natif.

Le code ainsi créé est voulu universel et portable. De manière générale, il se charge et s’exécute plus rapidement dans les navigateurs que le JavaScript.

Ce n’est pas pour autant qu’un langage en remplace un autre. WebAssembly, qui n’est pas directement exécutable, fonctionne de concert avec JavaScript (il fait notamment partie de son compilateur). Il reprend ainsi le principe d’asm.js, mais avec un format binaire.

Au-delà des navigateurs

Les deux langages partagent aussi un même modèle de sécurité (exécution en bac à sable).

Cette propriété est à la base des travaux de la Bytecode Alliance.
Le groupement, qui comprend notamment Intel, Red Hat et Mozilla, pousse l’usage de WebAssembly hors des navigateurs. En l’occurrence, pour sécuriser les projets de développement. Ce en proposant une protection équivalente à celle que les OS garantissent à travers l’isolation des processus… mais avec une empreinte mémoire optimisée.

Du côté du W3C, on liste, parmi les chantiers à court terme :

– Ajouter la prise en charge du threading
– Permettre à du code de faire référence directement à des objets hôtes
– Activer les fonctions d’appel sans utiliser d’espace de pile supplémentaire
– Interagir avec JavaScript en chargeant les exécutables WebAssembly sous forme de modules ES6

À plus long terme, il est question d’intégrer un récupérateur de mémoire – ce qui permettra d’ouvrir WebAssembly à des langages comme Go et Python.

On surveillera aussi le projet WASI. Son objectif : créer une interface commune aux systèmes d’exploitation pour l’exécution de code WebAssembly.

Photo d’illustration © isaak55 – Shutterstock.com

Recent Posts

GenAI : le Royaume-Uni poursuit ses investigations sur les partenariats de Microsoft et Amazon

L'Autorité de la concurrence et des marchés (CMA) a lancé la phase de recherche de…

6 heures ago

Clients de VMware : les raisons de la colère

Broadcom remplace pas moins de 168 logiciels VMware par deux grandes licences de location correspondant…

7 heures ago

Laurent Carlier – BNP Paribas Global Market : « L’IA permet de modéliser des relations plus complexes, mais il faut rester prudent »

La banque d’investissement de BNP Paribas utilise l'IA pour proposer des stratégies d’investissement individualisées, en…

8 heures ago

Open Compute Project : les datacenters partagent des bonnes pratiques pour l’environnement

OVHCloud partage ses efforts environnementaux au sommet de l’Open Compute Project qui se tient à…

1 jour ago

Phi-3-mini : Microsoft lance son premier SLM

Avec Phi-3-mini, Microsoft lance un SLM conçu pour attirer une clientèle disposant de ressources financières…

1 jour ago

Apple : l’UE serait prête à approuver son plan pour ouvrir l’accès NFC

La Commission européenne serait sur le point d'approuver la proposition d'Apple visant à fournir à…

1 jour ago