Microsoft avec TypeScript, Google avec Native Client, Mozilla avec asm.js… Autant d’initiatives lancées ces dernières années pour apporter davantage de fonctionnalités au JavaScript ou encore accélérer son chargement sur les pages Web.
Ces trois projets sont appelés à converger au sein de WebAssembly, un nouveau format de fichier binaire qui doit permettre de compiler de nombreux langages (en tête de liste, C/C++) pour ensuite les exécuter dans les navigateurs sans affecter les performances globales.
Porté par Brendan Eich (fondateur du JavaScript et CEO éphémère de Mozilla), WebAssembly est un « bytecode », c’est-à-dire un code intermédiaire entre les applications Web et les instructions machine. Sa supervision est assurée par un groupe communautaire au sein du W3C (World Wide Web Consortium).
L’objectif n’est pas de remplacer JavaScript, mais de proposer une solution « complémentaire » qui soit « plus efficace » pour le rendu de certains éléments sur les pages Web. Le code WebAssembly compressé serait en l’occurrence plus légère (cf le tableau ci-dessous). Et sa décompression serait jusqu’à 20 fois plus rapide par rapport à l’analyse de code asm.js – ce sous-ensemble de JavaScript exécutable à bas niveau après compilation en langage natif avec Emscripten, selon ITespresso.
JavaScript présentant l’avantage de fonctionner aussi bien sur les architectures ARM que x86, WebAssembly pourra, tout du moins dans un premier temps, y être implémenté pour exploiter ses différentes composantes, comme la sandbox pour la sécurité.
Pour assurer la transition le temps que la prise en charge de ce nouveau format soit assurée dans les principaux navigateurs Web du marché, les équipes impliquées sur le projet (PNaCl et V8 chez Google ; Edge chez Microsoft ; Emscripten et asm.js chez Mozilla…) projettent de lancer une bibliothèque qui convertira le code WebAssembly en JavaScript.
Les deux langages seront d’ailleurs sans doute – d’après Brendan Eich – amenés à coexister sur le long terme. Tout du moins jusqu’à ce que WebAssembly se soit véritablement répandu et ouvert à d’autres langages.
A lire aussi :
JavaScript est sacré langage de programmation de l’année
Microsoft s’apprête à livrer la 1.0 de TypeScript, son super JavaScript
Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…
L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…
Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…
Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…
Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…
De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…