Créé en 2015 par « Brendan Eich » (le créateur d’Asm.js et de JavaScript), Wasm, appelé également WebAssembly, est l’un des langages de programmation les plus utilisés aujourd’hui. En effet, il est compatible avec tous les navigateurs et comporte des fonctionnalités relativement avancées par rapport aux autres langages. Il a pu, ainsi, remporter un grand succès dans les quatre coins du monde depuis son lancement sur le marché.
Retrouvez, dans cet article, l’essentiel à savoir sur Wasm ou WebAssembly.
Qu’est-ce que Wasm ou WebAssembly ?
WebAssembly est un langage d’assemblage de bas niveau compatible avec tous les navigateurs. Il vient de fournir de nouvelles fonctionnalités relativement avancées par rapport aux autres langages.
En fait, ce langage n’est pas destiné à être écrit à la main, mais plutôt à être une cible de compilation performante pour les langages source de bas niveau, telles que Rust, C, C ++, etc.
Pour mieux vous expliquer, ce langage est au web ce que l’assembleur est à votre ordinateur. En effet, à l’époque, l’assembleur était le seul moyen d’étendre les capacités des larges librairies standards du web.
Pour pouvoir fonctionner convenablement, WebAssembly doit être exécuté sur un navigateur capable de traiter ce langage. Heureusement, dans l’ensemble des versions actuelles des navigateurs, la plupart des applications et les logiciels peut être exécutée en ce langage.
Quels sont les différents usages de Wasm ?
Le WebAssembly devient de plus en plus répandu jour après jour. En effet, il est très pratique et utile. On vous présente les principaux usages de ce langage.
Il est désormais possible, aujourd’hui, de développer des jeux vidéo très complexes tournant directement dans le navigateur. C’est particulièrement le cas avec Unity qui permet d’exporter la version navigateur de ses jeux vidéo en Wasm.
Grâce au langage de WebAssembly, les développeurs web peuvent faire du Edge Computing. En d’autres termes, il est devenu possible de soulager les serveurs en effectuant certains calculs sur les ordinateurs des clients. C’est le cas de certains hébergeurs d’images qui sont susceptibles d’effectuer la compression des images uploadées directement dans le navigateur web.
Avec le Wesm, la compression vidéo dans le navigateur est devenue faisable ! Même la réutilisation de « legacy codebase » écrite en C dans les navigateurs web est désormais également possible, et ce sans être obligé de réécrire les codes de JavaScript.
Les principales fonctionnalités de Wasm
Les fonctionnalités de WebAssembly sont simples et avancées par rapport aux autres langages de programmation. On vous en cite quelques-unes.
1. Vitesses d’exécution de type natif
Par défaut, Wasm tire parti du matériel sous-jacent pour offrir des vitesses d’exécution élevées de type natif. Il est également sécurisé, étant donné qu’il s’exécute dans un environnement Sandbox.
2. Interface débogable et facile à utiliser
Bien qu’il s’agisse d’un langage d’assemblage de bas niveau, il offre une interface débogable avec des formats de textes clairs et lisibles.
Par conséquent, si un développeur souhaite déboguer un certain code, il peut accéder au fichier wasm dans l’éditeur de texte et déboguer le code facilement comme tout autre langage de programmation.
3. Compilation rapide des codes
Aujourd’hui, on n’est pas obligé d’attendre que le code Wasm soit téléchargé pour que la compilation souhaitée démarre. Pour mieux vous expliquer, le navigateur commence, par exemple, à compiler le code WebAssembly dès qu’il le reçoit.
Les points faibles de langage WebAssembly
Malgré ses nombreux avantages et ses multiples usages, le langage de programmation WebAssembly présente certaines limites.
- Il ne peut pas effectuer la manipulation d’interface utilisateur, car il n’est pas capable d’interagir avec DOM. Dans ce cas, on doit utiliser JavaScript.
- Il ne comporte aucun outil de gestion de la mémoire. Cela veut dire qu’il n’offre pas de ramasse-miettes.
- Il n’est pas 100% sécurisé. Donc, si une personne malveillante insère un code malveillant, il n’y aura aucun moyen de le détecter.
En bref, Wasm est un outil très performant qui offre aux développeurs la possibilité de créer des applications Web de haut niveau. Il leur permet également de faire une exécution spécialisée du code pour une sortie plus rapide et facile. Cependant, il n’est pas dépourvu de points faibles et ne peut pas remplacer JavaScript.