WebAssembly : un binaire pour des web apps performantes

Stéphane Moussie |

Les ingénieurs derrière Firefox, Chromium, Edge et WebKit ont créé un nouveau format de fichier binaire standard destiné aux applications web. Brendan Eich, l’inventeur du JavaScript qui s’était fait très discret depuis sa démission du poste de CEO de Mozilla, reprend à cette occasion la parole sur son blog.

WebAssembly, dont le suffixe est .wasm, est un nouveau binaire pour du code de bas niveau, explique-t-il. Il s’agit d’un bytecode, un code intermédiaire entre les instructions machines et le code source.

Alors que les navigateurs font tourner des sites web de plus en plus complexes, au point qu’il s’agit parfois d’applications aussi sophistiquées que des logiciels natifs, les performances sont devenues cruciales. Un binaire WebAssembly pourra être décodé beaucoup plus rapidement par le navigateur qu’il ne traitera du JavaScript (jusqu’à 20 fois plus rapide selon les premières expérimentations).

De nombreux types d’applications web pourront profiter de WebAssembly : jeux, éditeurs d’images, lecteurs musicaux, services scientifiques, sites interactifs en tous genres…

Les promoteurs du projet assurent que WebAssembly n’est pas destiné à remplacer le JavaScript, très utilisé dans les web apps. « Bien que WebAssembly va permettre, au fil du temps, de compiler beaucoup de langages pour le web (il est déjà question du C/C++, ndr), JavaScript est extrêmement dynamique et va rester le langage privilégié pour le web », peut-on lire dans la FAQ.

« Avec la coévolution du JavaScript et de wasm, je crois que tous les meilleurs navigateurs seront équipés de moteurs JavaScript qui seront devenus de vraies machines virtuelles polyglottes », déclare Brendan Eich.

À l’heure actuelle, WebAssembly n’en est qu’à ses prémices. Un groupe de travail a été mis en place au W3C et les grandes lignes du projet ont été tracées, mais il reste encore à le formaliser.

avatar ovea | 

À propos de la photo de l'article :

Le retour de Max Hearoom … haha

avatar heret | 

Bytecode, c'est comme méta, on met ce qu'on veut derrière ce mot. Le bytecode de wasm, ça ne sera pas le même que celui de Java ou de C#. Déjà à l'époque du CPC 464, les lignes d'instruction était pré-compilées lors de leur saisie et tous les mots clef étaient transformés en un octet, soit un byte. A l'époque on disait tokenisé.

avatar bompi | 

C'est assez gentil de penser aux malintentionnés : ils pouvaient créer une faille multi-plateforme avec Flash et Java. Maintenant que ces deux-là perdent du terrain côté client, on leur imagine un remplaçant.
Cool.

Il va falloir déjà penser aux extensions de type WAsmBlock et ClickToWAsm.

avatar denmakesmusic | 

Euh les gars il y a la JVM depuis des années ! En plus la JVM était intégrée dans le navigateur à une époque. On tourne en rond. En attendant on se coltine le JS de m...

CONNEXION UTILISATEUR