La technologie WebAssembly rassemble du beau monde. Dans un effort commun au sein d'un groupe de travail sous l'égide du W3C, Apple, Google, Microsoft et Mozilla planchent dessus depuis juin 2015. Le but recherché est de donner naissance à un format binaire fédérateur (.wasm) pour la compilation d'applications destinées au Web.

C'est une nouvelle fois la quête visant à aller au-delà des performances permises par JavaScript pour tendre vers des performances natives (avec du code natif) sur la plateforme Web. Avec l'implication des représentants des principaux navigateurs Web, il y a bon espoir que ce projet aboutisse et qu'un consensus se dégage.

WebAssembly s'inscrit dans la continuité de asm.js qui est un sous-ensemble de bas niveau de JavaScript. Une belle formule d'un ingénieur de Mozilla est de parler d'un " CPU virtuel pour le Web ". Cette semaine, WebAssembly a refait parler avec l'annonce d'un support expérimental dans plusieurs navigateurs.

En l'occurrence, dans Chrome Canary, Firefox Nightly et une build interne de Microsoft Edge que l'on pourrait assimiler à des versions alpha des navigateurs éponymes. Pour Chrome Canary, il est nécessaire d'aller à chrome://flags/#enable-webassembly afin d'activer le support expérimental. Avec Firefox Nightly, il faudra passer par about:config, puis mettre l'entrée javascript.options.wasm à true.

Une démo expérimentale est un jeu Unity dénommé AngryBots qui a été porté pour WebAssembly. Une vidéo ci-dessous avec Microsoft Edge :