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 de proposer sur le Web de nouvelles fonctionnalités performantes dans d'autres langages. Ces dernières années, les développeurs ont vraiment su exploiter le potentiel de ces possibilités. Cet article présente quelques-uns des nouveaux outils prometteurs dont vous pouvez bénéficier, en partie grâce à WebAssembly.

Outils et bibliothèques que vous pouvez désormais utiliser

Passons maintenant aux bonnes choses sans plus tarder :D

SQLite

Grâce à ce port complet de SQLite, vous disposez d'un système de gestion de base de données relationnelle léger, intégré et relationnel. Pour en savoir plus, lisez cet article de blog qui présente ce port exceptionnel et explique comment l'utiliser.

FFmpeg.wasm

FFmpeg est un projet logiciel sans frais et Open Source qui se compose d'une suite de bibliothèques et de programmes permettant de gérer des fichiers vidéo, audio et d'autres fichiers et flux multimédias. Vous trouverez une version compilée avec Wasm (dépôt GitHub) qui vous permet d'effectuer toutes ces opérations directement dans le navigateur.

Description de la scène universelle (USD)

Universal Scene Description (USD) est une structure de données d'infographie 3D axée sur la collaboration, le montage non destructeur et la possibilité de multiplier les affichages et opinions sur des données graphiques. Il s'agit d'une norme du secteur prise en charge par des entreprises telles que Pixar, Autodesk, Nvidia et bien d'autres. L'assistance Web n'en est qu'à ses débuts, mais Autodesk proposait déjà un lecteur Web en USD en Open Source que vous pouvez voir ici.

CanvasKit

CanvasKit est Skia, le moteur de rendu de Chrome et d'Android, compilé directement dans WebAssembly. Vous bénéficiez ainsi d'un accès simple à l'API JavaScript pour pratiquement toute la puissance du moteur de rendu Skia. Ces fonctionnalités incluent entre autres le rendu complexe, la mise en forme du texte, l'animation et l'écriture. Consultez le package npm et le guide de démarrage rapide.

TensorFlow.js

TensorFlow.js intègre la puissance de TensorFlow directement dans le navigateur à l'aide d'une simple API JavaScript. En arrière-plan, elle optimise les modèles au niveau du GPU et du processeur (y compris les optimisations SIMD) afin de 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 de la programmation de fonctions principalement pour la vision par ordinateur en temps réel. Vous trouverez ici un package npm facile à utiliser. Les utilisateurs d'Embscripten disposent également d'instructions détaillées pour effectuer une compilation complète. Pour découvrir comment la SIMD et les threads améliorent les performances de ces charges de travail, vous pouvez regarder cette section de la conférence du Chrome Dev Summit sur le Modern WebAssembly.

Cocos

Cocos est un moteur de jeu puissant et populaire qui permet aux développeurs de créer des jeux compatibles avec plusieurs plates-formes. Cela inclut désormais le Web. Il rejoint la longue liste de moteurs de jeu qui permettent l'exportation Web via Wasm. Pour commencer, accédez à l'éditeur Cocos et suivez ces instructions.

Conclusion

Outre ces exemples spécifiques, il y a beaucoup de choses à découvrir concernant le potentiel de WebAssembly de faire évoluer le rythme des nouvelles fonctionnalités Web. Chrome a même mis en place un fonds pour les applications Web avancées afin d'aider les développeurs à financer leurs efforts afin d'améliorer la fonctionnalité Web disponible pour tous les développeurs.

Image principale de Pexels, d'Ann Marie Kennon