Introduction WebAssembly
1. Première considération
La notion de WebAssembly ne vous est sans doute pas étrangère. Elle est régulièrement évoquée dans la presse informatique, notamment en lien avec des langages comme C++ mais également et surtout Rust. En effet, les articles expliquant ou vulgarisant la notion de WebAssembly mentionnent régulièrement le langage Rust. Il était donc souhaitable, voire indispensable de consacrer un chapitre dans cet ouvrage, pour préciser la notion, expliquer en quoi cela consiste exactement et comment travailler avec WebAssembly en Rust.
2. Explications de WebAssembly
En quelques mots d’abord, tentons de définir la notion de WebAssembly. Il s’agit d’un standard de développement d’applications web qui permet de coder différemment qu’en langage JavaScript l’animation Front du site web.
Un WebAssembly est compilé en bytecode depuis un langage comme Rust. Ce bytecode s’exécute sur une machine virtuelle dédiée. Ce dispositif apporte plusieurs avantages comparatifs. En particulier : Bytecode
-
une gestion sécurisée de la mémoire ;
-
des performances en termes de vitesse supérieures à ce que l’on peut attendre de l’usage de JavaScript.
Sur ce dernier point, l’interprétation du langage JavaScript prend forcément plus de temps qu’un WebAssembly précompilé en bytecode.
Le bytecode...