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

AWS abandonne WorkDocs, son concurrent de Dropbox

Un temps pressenti pour constituer le socle d'une suite bureautique AWS, Amazon WorkDocs arrivera en…

2 jours ago

Eviden structure une marque de « serveurs IA »

Eviden regroupe cinq familles de serveurs sous la marque BullSequana AI. Et affiche le supercalculateur…

2 jours ago

SSE : l’expérience se simplifie plus que les prix

Le dernier Magic Quadrant du SSE (Secure Service Edge) dénote des tarifications et des modèles…

2 jours ago

IA générative : les lignes directrices de l’ANSSI

Formats de paramètres, méthodes d'apprentissage, mutualisation GPU... Voici quelques-unes des recommandations de l'ANSSI sur l'IA…

3 jours ago

De la marque blanche à l’« exemption souveraine », Broadcom fait des concessions aux fournisseurs cloud

À la grogne des partenaires VMware, Broadcom répond par diverses concessions.

3 jours ago

iPadOS finalement soumis au DMA

iPadOS a une position suffisamment influente pour être soumis au DMA, estime la Commission européenne.

3 jours ago