WebAssembly

WebAssembly est un format de code portable qui peut être exécuté dans n’importe quel navigateur Web.

Il est utilisé pour créer des applications Web rapides et efficaces qui peuvent rivaliser avec les applications natives.

Comment fonctionne WebAssembly ?

WebAssembly abrégé en WASM est un bytecode, un code binaire intermédiaire, un pont entre le code source JavaScript et les instructions machines, exécuté dans la sandbox de sécurité du navigateur.

Il a été présenté par le W3C comme un 4ème langage pour le Web et nouveau standard après HTML, CSS et JavaScript qui permet d’exécuter du code dans le navigateur. Il n’est pas limité au Web.

Ce format exécutable sert à développer des applications « complexes » comme les jeux 3D, la réalité virtuelle et augmentée en direct, le montage vidéo, l’émulation de plateformes, le cryptage, VPN, I.A. … Il sert à compiler son code dans un langage de bas de niveau et l’exécuter sur un navigateur.

Il est semblable aux langages assembleur, en permettant d’atteindre des performances proches des applications natives avec un langage de bas niveau.

WebAssembly fonctionne en lien avec JavaScript. Grâce à l’API JavaScript WebAssembly il est possible de charger des modules WebAssembly au sein d’une application. Ce code chargé peut être par exemple du C, C++, Rust etc.

Ressources

  1. CanIUse
  2. EmScripten
  3. Comprendre WebAssembly en 5 minutes
  4. WebAssembly.org