Nouvelle fonctionnalité pour les développeurs, proposée par WebAssembly

Présentation des outils désormais disponibles sur le Web grâce à WebAssembly.

Thomas Nattestad
Thomas Nattestad

WebAssembly permet aux développeurs d'apporter de nouvelles fonctionnalités performantes au Web à partir d'autres langages. Au cours des dernières années, les développeurs ont vraiment exploité ces possibilités. Cet article ne présente que quelques-uns des nouveaux outils dont vous pouvez profiter, en partie grâce à WebAssembly.

Outils et bibliothèques que vous pouvez utiliser dès maintenant

Sans plus attendre, passons aux choses sérieuses :D

SQLite

Ce port complet de SQLite vous offre un système de gestion de bases de données relationnelles léger et intégré. Pour en savoir plus, consultez cet article de blog qui présente ce port incroyable et explique comment l'utiliser.

FFmpeg.wasm

FFmpeg est un projet logiciel Open Source et sans frais composé d'une suite de bibliothèques et de programmes permettant de gérer des fichiers et des flux vidéo, audio et multimédias. Vous trouverez une version compilée wasm ici (dépôt GitHub) qui vous permet d'utiliser toutes ces fonctionnalités directement dans le navigateur.

Description de scène universelle (USD)

Universal Scene Description (USD) est un framework pour les données de graphiques 3D qui se concentre sur la collaboration, le montage non destructif et la possibilité d'avoir plusieurs points de vue et opinions sur les données graphiques. Il s'agit d'une norme du secteur acceptée par des entreprises telles que Pixar, Autodesk, Nvidia et bien d'autres. L'assistance Web est encore balbutiante, mais Autodesk a déjà publié un visionneuse USD en open source sur le Web, que vous pouvez consulter ici.

CanvasKit

CanvasKit est Skia, le moteur de rendu de Chrome et d'Android, compilé directement en WebAssembly. Elle vous permet d'accéder à pratiquement toute la puissance du moteur de rendu Skia via une API JavaScript simple. Cette fonctionnalité inclut le rendu complexe, la mise en forme du texte, l'animation, l'encrage, etc. Consultez le package npm et le guide de démarrage rapide.

TensorFlow.js

TensorFlow.js exploite la puissance de TensorFlow directement dans le navigateur grâce à une API JavaScript simple. En interne, il optimise les modèles à la fois sur le GPU et le CPU (y compris les optimisations SIMD) pour maximiser les performances. Vous pouvez consulter le guide de démarrage ou regarder certaines de leurs démonstrations directement.

OpenCV

OpenCV est une norme du secteur des fonctions de programmation, principalement pour la vision par ordinateur en temps réel. Vous trouverez ici un package npm facile à utiliser. Pour les utilisateurs d'Emscripten, vous trouverez également des instructions détaillées pour effectuer une compilation complète. Pour découvrir comment SIMD et les threads améliorent les performances de ces charges de travail, vous pouvez regarder cette section de la présentation sur le WebAssembly moderne lors du Chrome Dev Summit.

Cocos

Cocos est un moteur de jeu puissant et populaire qui permet aux développeurs de créer des jeux multiplates-formes, y compris pour le Web. Il rejoint la longue liste des moteurs de jeu qui permettent l'exportation Web via wasm. Pour commencer, accédez à l'éditeur Cocos et suivez ces instructions.

Conclusion

En plus de ces exemples spécifiques, le potentiel de WebAssembly pour accélérer le développement de nouvelles fonctionnalités Web est très prometteur. Chrome a même créé le Fonds pour les applications Web avancées, qui peut aider les développeurs à financer leur travail afin de développer les fonctionnalités Web disponibles pour tous les développeurs.

Image principale de Pexels, par Ann Marie Kennon.