Categories: Poste de travail

WebAssembly : un palliatif pour JavaScript ?

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éger (confer 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.

asm-js-webassembly

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.

Crédit photo : mclek – Shutterstock.com

Recent Posts

PC Copilot+ : avec Arm ou x86 ?

Trop tôt pour envisager d'acquérir un PC Copilot+ ? Les roadmaps d'Intel et d'AMD peuvent…

2 semaines ago

Copilot+ : une sélection de PC convertibles

Dévoilés lors du CES 2025, les PC Copilot+ au format convertible restent encore limitée dans…

4 semaines ago

Avec Gemini intégré à Google Workspace, les prix s’envolent

Les fonctionnalités de Gemini sont intégrées dans la suite bureautique Google Workspace. Conséquence : les…

4 semaines ago

PC Copilot+ : c’est parti pour la transformation du parc

Au CES 2025, les principaux constructeurs ont annoncé l'arrivée des ordinateurs de bureau dotés de…

1 mois ago

PC Copilot+ : une porte d’entrée vers l’ IA locale ?

Equipés de NPU, les PC Copilot+ peuvent déployer des LLM en local. Un argument suffisant…

2 mois ago

PCIe 5.0 : La révolution des cartes-mères est-elle en marche ?

Que vous soyez un novice dans le domaine informatique, ou avec un profil plus expérimenté,…

3 mois ago