Qu'est-ce que WebAssembly ?

Qu'est-ce que WebAssembly ?
Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. Lire la suite.

Pendant plus de deux décennies, JavaScript a été le seul langage de programmation pouvant s'exécuter dans les navigateurs. D'autres langages comme Python, C++ et Go étaient principalement destinés à créer le côté serveur des applications et des services Web.





chrome utilise trop de mémoire

JavaScript a plutôt bien fonctionné, mais de nombreux autres langages de programmation sont plus rapides. Les applications Web peuvent tirer parti de nombreux avantages en exécutant d'autres langages de programmation plus performants directement dans le navigateur.





UTILISEZ LA VIDÉO DU JOUR

WebAssembly offre une option efficace, ouverte et sûre qui fait partie de la plate-forme Web ouverte. Vous pouvez l'utiliser pour créer des applications qui s'exécutent sur des navigateurs, des serveurs et dans d'autres environnements.





Présentation de WebAssembly

  Présentation de WebAssembly

WebAssembly (WASM) est un langage standardisé W3C efficace, portable et de bas niveau. Il définit un format de code et des interfaces permettant aux programmes d'interagir avec les plates-formes sur le Web.

Vous pouvez compiler la plupart des langages de programmation dans le format de code binaire de WebAssembly. Les navigateurs peuvent interpréter et exécuter le code WASM résultant comme ils le font avec du JavaScript normal. Vous pouvez également exécuter WebAssembly avec du code JavaScript pour des performances d'application plus élevées et une interopérabilité entre les deux.



WebAssembly est devenu une norme W3C en 2019, avec une prise en charge dans de nombreux langages de programmation. Selon Réalisé avec WebAssembly , il existe déjà de nombreux projets populaires qui utilisent WebAssembly pour fournir des logiciels rapides et sécurisés à leurs utilisateurs.

De nombreux langages de programmation, y compris ceux qui sont spécifiques au serveur, prennent en charge WebAssembly. Ceux-ci incluent Rust, Go, Python, C++, TypeScript, Java, PHP et Ruby. Vérifiez ressource awesome-wasm-langs pour en savoir plus sur les langages pris en charge par WebAssembly et les packages que vous pouvez utiliser avec eux.





Voici un exemple Programme WebAssembly de Tutorials Point qui renvoie au maximum deux entiers :

  Un exemple de code WASM

La syntaxe WebAssembly est relativement détaillée par rapport à JavaScript, mais cela ne devrait pas poser de problème. Vous n'aurez pas besoin d'apprendre la syntaxe puisque WebAssembly sera la cible de compilation des programmes que vous écrivez dans votre langage préféré.





Comment fonctionne WebAssembly

WASM existe en tant que cible de compilation dans laquelle d'autres langages de programmation peuvent être transpilés. Vous pouvez écrire dans votre langage de programmation préféré et compilez le code source en bytecode WASM qui s'exécute sur le client. Sa traduction en code machine natif signifie qu'il peut s'exécuter à grande vitesse, généralement plus rapidement que JavaScript.

L'une des fonctionnalités essentielles de WASM est l'interopérabilité JavaScript. Vous pouvez importer des modules WASM dans une application Web et exposer les fonctions WASM à utiliser dans le code JavaScript. Les frameworks JavaScript peuvent tirer parti de WASM pour de meilleures performances.

WASM utilise un modèle d'exécution en bac à sable similaire à JavaScript. WASM interagit avec la machine hôte à l'aide d'ABI (Application Binary Interface) comme le Interface système WebAssembly qui donne accès aux ressources et autres services système en fonction des exigences du programme.

De nombreux navigateurs modernes prennent en charge WASM, notamment Chrome, Microsoft Edge, Mozilla Firefox, Opera et Safari. Des langages comme Go et Prise en charge de la rouille WASM hors de la boîte.

comment puis-je savoir si quelqu'un me suit sur facebook

Pourquoi le Web a besoin de WebAssembly

  Fonctionnalités WebAssembly

JavaScript a des fonctionnalités limitées par conception. Ce n'est pas l'un des langages les plus rapides ou les plus performants depuis ses débuts comme langage de script pour le Web. Bien qu'il existe de nombreux environnements d'exécution où JavaScript s'exécute à des vitesses variables, il existe des langages plus rapides et plus performants que WebAssembly peut apporter au Web pour des cas d'utilisation tels que les jeux, les vidéos et la musique.

WebAssembly offre également plus de portabilité et de flexibilité aux langages qui ne fonctionnent pas sur le Web. L'introduction de plus de langues sur le Web (la plate-forme open source la plus populaire) devrait se traduire par une expérience globale améliorée.

L'adoption de WebAssembly est rapide

De nombreuses entreprises et développeurs créent des applications avec WebAssembly. Google, Dropbox et Cloudflare utilisent activement WebAssembly dans certaines de leurs applications.

WebAssembly est populaire parmi les développeurs Python, C++ et Rust. Les développeurs Python utilisent couramment Pyoidide et PyScript, les développeurs C++ et Emscripten, et les développeurs Rust avec Percy, Yew, Sycamore, MoonZoon et le framework Seed.