Wasmer, un ensemble d'outils pour les applications WebAssembly

Après deux ans de développement la sortie de la première version a été annoncée projet important Wasmer, qui développe un runtime pour exécuter les modules WebAssembly.

Zones d'utilisation Wasmer inclure la création d'applications universelles qui peut être exécuté sur différents systèmes d'exploitation, ainsi que l'organisation de l'exécution isolée de code non fiable. L'inclusion de la création d'applications serveur est prise en charge, par exemple, la publication d'un serveur Nginx compilé sur WebAssembly a été démontrée.

À propos de Wasmer

Portabilité il est réalisé en compilant le code de l'application dans un middleware WebAssembly de bas niveau qui peut s'exécuter sur n'importe quel système d'exploitation ou être intégré à des programmes dans d'autres langages de programmation.

Les programmes ce sont des conteneurs légers qui exécutent le pseudocode WebAssembly. Ces conteneurs ne sont pas liés au système d'exploitation et peuvent contenir des applications écrites à l'origine dans n'importe quel langage de programmation.

La boîte à outils Emscripten peut être utilisé pour compiler dans WebAssemblyOutre la traduction de WebAssembly en code machine actuel de la plateforme, plusieurs frameworks sont connectés, tels que LLVM et le générateur de code Cranelift.

D'autre part, le contrôle d'accès et l'interaction avec le système sont fournis via l'API WASI (WebAssembly System Interface), qui fournit des interfaces de programmation pour travailler avec des fichiers, des sockets et d'autres fonctions fournies par le système d'exploitation.

En plus que les applications sont isolées du système hôte dans un environnement sandbox et ils n'ont accès qu'à la fonctionnalité déclarée (mécanisme de sécurité basé sur les capacités de gestion; pour les actions avec chacune des ressources (fichiers, répertoires, sockets, appels système, etc.), l'application doit recevoir les pouvoirs correspondants).

Les programmes sont distribués sous la forme de modules WebAssembly réguliers, qui peuvent être gérés via le gestionnaire de packages WAPM.

Wasmer aussi est disponible sous forme de bibliothèque utilisable avec différentes langues programmation. L'intégration du code WebAssembly dans les programmes Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir et Java est prise en charge.

Quant à la Fonctionnalités de Wasmer version 1.0 les suivants se démarquent:

  • Haute performance des applications en cours d'exécution, proche de l'exécution des assemblys natifs et vitesse de compilation élevée.
  • Architecture extensible avec la possibilité de connecter différents backends de compilation (Singlepass, Cranelift, LLVM) et moteurs (en utilisant JIT ou en générant du code machine).
    Native Object Engine, qui permet de générer du code machine pour un système donné pour un module WebAssembly ("compilation native wasmer" pour générer des fichiers objets précompilés .so, .dylib et .dll).
  • Le code précompilé nécessite un temps d'exécution minimal pour s'exécuter, mais toutes les capacités d'isolation de sandbox sont préservées.
  • Mode sans tête pour fournir des programmes pré-compilés avec Wasmer intégré.
    Prise en charge de la compilation croisée, par exemple, pour générer du code machine pour l'architecture Aarch64 sur un système x86_64.
  • Une API simple pour créer des plugins et des plugins sans avoir besoin d'apprendre les concepts avancés de WebAssembly.
  • Prise en charge de WASM-C-API.
  • Outils de débogage et de gestion des erreurs.

Enfin Si vous souhaitez en savoir plus sur Wasmer, vous devriez savoir que eLe code du projet est écrit en Rust, il a la Licence MIT et vous pouvez vérifier ses détails sur son site officiel au lien suivant

Installez le runtime Wasmer

D'autre part, pour ceux qui souhaitent pouvoir exécuter le conteneur WebAssembly, il vous suffit d'installer le runtime Wasmer sur votre système, qui est livré sans dépendances externes.

Il est important de mentionner que Wasmer peut être exécuté sur n'importe quelle plateforme macOS, Linux et Windows, la seule exigence est que son environnement d'exécution soit installé sur votre système.

Pour ce faire, exécutez simplement la commande suivante dans un terminal:

boucle https://get.wasmer.io -sSfL | sh

Et après cela, ils doivent exécuter le fichier requis:

test wasmer.wasm

Si vous avez besoin d'en savoir plus sur le fonctionnement de Wasmer ou si vous souhaitez connaître son code source, vous pouvez consulter tout cela dans le lien suivant.


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.