WebAssembly a fait beaucoup de chemin depuis sa première version majeure en 2015. Les cas d'utilisation dépassent désormais le cadre des applications Web : infrastructures cloud, virtualisation, edge computing, architectures de plugins, etc. Quelles évolutions passées ont rendu ça possible ? Comment évolue WebAssembly en tant que plateforme ? Quelles améliorations sont à venir, et que vont-elles permettre d'accomplir ? Nous nous pencherons sur ces questions en (re)découvrant ensemble WebAssembly, son historique, et ses principales extensions à venir (WASI, component model, garbage collector).
Un an après la sortie de la version MVP (minimum viable product) de WebAssembly, de nombreux usages émergent et laissent entrevoir les possibilités futures du format binaire accessible dans tous les navigateurs Web modernes. Pourquoi s'intéresser à WebAssembly aujourd'hui ? Est-ce que c'est fait pour moi ? Est-ce que c'est simple à utiliser ? Comment je peux en tirer profit facilement dés aujourd'hui ? Nous essayerons ensemble de répondre à ces questions, puis nous verrons comment créer et intégrer du code WebAssembly, en passant par toutes les étapes, de l'écriture du code source initial (dans un autre langage que JS, mais pas de panique !) jusqu'à l'intégration dans une application Web.
WebAssembly est une proposition pour un nouveau standard W3C : un format d'exécution binaire pour le Web. Il se veut simple, compact et aussi rapide que le code natif à l'exécution. Se basant sur des idées dérivées d'asm.js, ce nouveau format permet de lancer des applications impressionantes et très avides de performances dans des navigateurs Web. Supporté par Mozilla, Google, Webkit et Microsoft, sa conception est ouverte et collaborative depuis le début. Et donc concrètement, qu'est-ce que tout cela signifie ? Qu'est-ce que cela va changer pour les développeurs, au quotidien ? Comment utiliser WebAssembly dès aujourd'hui et pour quels usages ? Et JavaScript dans tout ça ? Autant de questions que l'on va explorer ensemble.