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

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

17 heures ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

20 heures ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

22 heures ago

Accord Microsoft-CISPE : comment Google a tenté la dissuasion

Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…

22 heures ago

Vers des mises à jour cumulatives intermédiaires pour Windows

Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…

23 heures ago

RH, finances, stratégie… Les complexités de la Dinum

De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…

2 jours ago