Le W3C a fait de WebAssembly une norme recommandée

Le mois dernier, nous avons partagé ici sur le blog à propos de la nouvelle que Mozilla, Fastly, Intel et Red Hat s'étaient associés pour développer les technologies qui font WebAssembly (Si vous souhaitez en savoir plus sur l'actualité, vous pouvez la consulter ce lien) et maintenant quelques semaines après cette nouvelle le consortium W3C a annoncé que la technologie WebAssembly c'est devenu la norme recommandée.

Pour ceux qui ne connaissent pas WebAssembly ils devraient savoir que cela fournit un middleware universel de bas niveau indépendant du navigateur pour exécuter des applications compilé à partir de divers langages de programmation. WebAssembly se positionne comme la technologie multi-navigateurs la plus prometteuse et la plus portable pour la création d'applications Web hautes performances.

Assemblage Webe peut être utilisé pour résoudre des tâches qui nécessitent des performances élevées, par exemple, le codage vidéo, le traitement du son, les graphiques 3D et la manipulation, le développement de jeux, les opérations cryptographiques, les calculs mathématiques et la création d'implémentations portables de langages de programmation.

WebAssembly ressemble beaucoup à Asm.js, mais il diffère en ce qu'il s'agit d'un format binaire qui n'est pas lié à JavaScript. WebAssembly ne nécessite pas l'utilisation d'un garbage collector, car une gestion de mémoire explicite est utilisée.

Une particularité du modèle d'exécution des applications utilisant WASJe lance dans un environnement sandbox pour s'isoler du système principal et l'utilisation d'un mécanisme de sécurité basé sur la gestion des capacités, pour des actions avec chacune des ressources (fichiers, répertoires, sockets, appels système, etc.)

En activant JIT pour WebAssembly, vous pouvez atteindre des niveaux de performances proches du code natif. Parmi les tâches principales de WebAssembly est la fourniture de la portabilité, la prévisibilité du comportement et l'identité de l'exécution du code sur différentes plates-formes.

Assemblage Web 1

Récemment, WebAssembly évolue également en tant que plate-forme universelle pour exécuter du code en toute sécurité sur n'importe quelle infrastructure, système d'exploitation et appareil, sans se limiter aux navigateurs.

Le W3C a normalisé trois spécifications lié à WebAssembly:

  1. Noyau d'assemblage Web- Défini comme une machine virtuelle de bas niveau qui imite étroitement les fonctionnalités de nombreux microprocesseurs sur lesquels elle s'exécute. Que ce soit par compilation ou interprétation juste-à-temps, le moteur WebAssembly peut fonctionner presque à la vitesse du code compilé pour une plate-forme native.
    Une ressource .était M est analogue à un fichier .une sorte de Java dans le sens où il contient des données statiques et des segments de code qui opèrent sur ces données statiques. Contrairement à Java, WebAssembly est généralement produit comme une cible de compilation pour d'autres langages de programmation tels que C / C ++ et Rust.
  2. 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 le chargement complet du fichier, améliorant ainsi la réactivité des applications Web.
  3. Interface JavaScript WebAssembly: fournit une API à intégrer avec JavaScript. Vous permet d'obtenir des valeurs et de transmettre des paramètres aux fonctions WebAssembly. L'exécution de WebAssembly correspond au modèle de sécurité JavaScript, et toutes les interactions avec l'hôte sont effectuées de la même manière que l'exécution du code JavaScript.

À l'avenir, il est prévu de préparer les spécifications des fonctions WebAssembly telles que:

  • Multithreading avec mémoire partagée et accès à la mémoire atomique.
  • Opérations vectorielles basées sur SIMD, qui permettent de paralléliser l'exécution des cycles.
  • Types de référence pour les références directes aux objets dans le 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.
  • La façon de travailler avec le garbage collector.
  • Interfaces de débogage.
  • WASI (WebAssembly System Interface): API d'interaction directe avec le système d'exploitation (API POSIX pour travailler avec des fichiers, des sockets, etc.).

Si vous souhaitez en savoir plus, vous pouvez consulter la note originale dans le lien suivant.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.