Le W3C donne le statut de norme recommandée à WebAssembly

Consortium W3C объявил sur le fait de donner à la technologie WebAssembly le statut de standard recommandé. WebAssembly fournit un code intermédiaire de bas niveau, universel et indépendant du navigateur pour exécuter des applications compilées à partir de divers langages de programmation. WebAssembly se positionne comme une technologie portable multi-navigateurs plus prometteuse pour créer des applications Web hautes performances. WebAssembly peut être utilisé pour des tâches exigeantes en performances telles que l'encodage vidéo, le traitement audio, la manipulation graphique et 3D, le développement de jeux, les opérations cryptographiques, le calcul mathématique et la création d'implémentations portables de langages de programmation.

WebAssembly est similaire à bien des égards à Asm.js, mais diffère en ce qu'il s'agit d'un format binaire qui n'est pas lié à JavaScript. WebAssembly ne nécessite pas de garbage collector car il utilise une gestion explicite de la mémoire. En utilisant JIT pour WebAssembly, vous pouvez atteindre des niveaux de performances proches du code natif. L'un des principaux objectifs de WebAssembly est d'assurer la portabilité, un comportement prévisible et une exécution de code identique sur différentes plates-formes. Dernièrement, WebAssembly a également avancer en tant que plate-forme universelle pour l'exécution sécurisée de code sur n'importe quelle infrastructure, système d'exploitation et appareil, sans se limiter aux navigateurs.

Le W3C a standardisé trois spécifications liées à WebAssembly :

  • Noyau d'assemblage Web — décrit une machine virtuelle de bas niveau pour exécuter le code intermédiaire WebAssembly. Les ressources liées à WebAssembly sont présentées dans un format « .wasm », similaire à un fichier Java « .class », contenant des données statiques et des segments de code permettant de travailler avec ces données.
  • API Web WebAssembly — définit une interface de programmation basée sur le mécanisme Promise pour demander et exécuter des ressources « .wasm ». Le format de ressource WebAssembly est optimisé pour démarrer l'exécution sans attendre que le fichier soit complètement chargé, ce qui améliore la réactivité des applications Web.
  • Interface JavaScript WebAssembly — Fournit une API pour l'intégration avec JavaScript. Permet d'obtenir des valeurs et de transmettre des paramètres aux fonctions WebAssembly. L'exécution de WebAssembly suit le modèle de sécurité JavaScript et toutes les interactions avec le système principal s'effectuent de la même manière que l'exécution du code JavaScript.

À l'avenir, nous prévoyons de préparer des spécifications pour des fonctionnalités WebAssembly telles que :

  • Multithreading avec mémoire partagée et accès à la mémoire atomique ;
  • Opérations vectorielles basées sur SIMD, permettant la parallélisation de l'exécution de boucles ;
  • Types de référence pour référencer directement des objets à partir du code WebAssembly ;
  • Possibilité d'appeler des fonctions sans dépenser d'espace supplémentaire sur la pile ;
  • Intégration avec les modules ECMAScript - la possibilité de charger du code WebAssembly à partir de JavaScript en tant que modules conformes à la spécification ECMAScript 6 ;
  • Mode collecteur de déchets ;
  • Interfaces de débogage ;
  • ÉTAIS-JE (WebAssembly System Interface) - API pour une interaction directe avec le système d'exploitation (API POSIX pour travailler avec des fichiers, des sockets, etc.).

    Source: opennet.ru

Ajouter un commentaire