Les développeurs de Wasmer parient gros sur WebAssembly. Le runtime qu’ils ont développé est destiné à installer WebAssembly côté serveur, à l’image de ce que fait Node.js pour JavaScript. L’éditeur a également travaillé sur un gestionnaire de paquets pour les binaires WebAssembly. Le runtime Wasmer est destiné à faire de WebAssembly une cible universelle pour la compilation. En effet, le runtime permet aux développeurs d'utiliser WebAssembly « partout », à l’image de la JVM qui offre un environnement d'exécution portable pour les applications Java. Introduit en décembre 2018 et proposé sous licence MIT, Wasmer est un runtime just-in-time (JIT) autonome, compatible avec WASI (WebAssembly System Interface) et le compilateur Emscripten pour asm.js et WebAssembly. Wasmer peut exécuter le format binaire standard, les fichiers .wasm et le format texte défini par l'interpréteur de référence WebAssembly, à savoir les fichiers .wat.
Wasmer peut exécuter des modules WebAssembly, y compris des programmes autonomes avec une interface CLI en ligne de commande ou autre, ou des bibliothèques universelles, destinés à être utilisés avec n'importe quel langage. C’est le cas notamment de bibliothèques comme GraphQL. Wasmer peut être intégré dans les langages C/C++, Go, PHP, Python, Rubis et Rust.
La prochaine génération de conteneurs applicatifs sous WebAssembly en approche
Syrus Akbary, le CEO de Wasmer, s’attend à une large adoption de WebAssembly et se prépare à construire la prochaine génération de conteneurs applicatifs basés sur WebAssembly, lesquels pourront offrir un temps de démarrage rapide avec des applications légères. Ces dernières pourront faire tourner les plates-formes edge. Wasmer a également créé WebAssembly Package Manager ou Wapm. Équivalent au gestionnaire de paquet NPM (Node Package Manager) du monde JavaScript, Wapm est destiné à héberger des modules WebAssembly incluant des binaires et des bibliothèques universelles.
Wasmer a récemment déployé des interfaces WebAssembly qui permettent des contrôles statiques sur les modules pour s'assurer qu'ils fonctionnent et restent compatibles avec une API donnée. Les interfaces WebAssembly permettent de distribuer et d'utiliser en toute sécurité des écosystèmes de plug-ins dans Wapm sachant que les interfaces peuvent servir à construire des plug-ins pour la plate-forme Wasmer. Cet outil ainsi que le CLI Wapm sont téléchargeables sur GitHub.
Commentaire