Pour gérer vos consentements :
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.

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

IA et RGPD : sont-ils compatibles ?

Quelle part d’incertitude faut-il accepter dans la mise en conformité des IA avec le RGPD…

3 semaines ago

Windows 10 : quel coût pour le support étendu ?

Microsoft a dévoilé les prix des mises à jour de sécurité étendues pour Windows 10.…

3 semaines ago

Cybersécurité : la plan de Docaposte pour convaincre les PME

Docaposte a sélectionné une douzaine de spécialistes français pour créer un Pack cybersécurité spécialement étudié…

1 mois ago

Surface Pro 10 : plus autonome et un peu plus réparable

La Surface Pro 10 sera disponible le 9 avril en France. Passage en revue de…

1 mois ago

Office 2024 : ce qu’on sait de la prochaine version

Que réserve Office 2024 ? Une première version de test officielle sera disponible en avril.…

1 mois ago

Microsoft Teams : comment fonctionne le double usage « pro-perso »

Microsoft Teams évolue dans une version « unifiée » qui permet de combiner les usages…

2 mois ago