Introduction
En 2013, Mozilla a révolutionné le web avec l'introduction de asm.js, une technologie qui a permis d'exécuter du code à des vitesses proches du natif en utilisant uniquement des technologies web. Aujourd'hui, avec l'émergence de WebAssembly (Wasm), asm.js cède progressivement sa place, ouvrant la voie à une nouvelle ère de performances web.
L'héritage de asm.js
Asm.js a été une réponse innovante à la question : comment exécuter du code à vitesse native sur le web ? En utilisant un sous-ensemble strictement typé de JavaScript, asm.js a permis aux moteurs de reconnaître et de compiler le code en natif en temps réel. Cela a permis à des projets comme Unity et Unreal d'être portés sur le web, marquant une avancée majeure pour les technologies web.
En 2013, la démonstration Epic Citadel a été portée sur le web en seulement quatre jours grâce à asm.js. Ce fut un moment marquant qui a prouvé que le web pouvait rivaliser avec les performances des applications natives.
La montée de WebAssembly
WebAssembly, introduit en 2017 avec Firefox 52, a été directement influencé par le succès de asm.js. Offrant des performances encore meilleures et une taille de binaire optimisée, WebAssembly est devenu le choix privilégié pour les applications web performantes.
Aujourd'hui, la plupart des projets qui utilisaient asm.js ont migré vers WebAssembly, qui offre une pipeline de compilation bien plus avancée. Les développeurs bénéficient ainsi d'exécutions plus rapides et de binaires plus petits.
Pourquoi dire adieu à asm.js ?
La transition vers WebAssembly n'est pas seulement une question de performances. Maintenir asm.js parallèlement à WebAssembly représente un coût en termes de maintenance et augmente la surface d'attaque potentielle dans les machines virtuelles. En désactivant asm.js par défaut, Mozilla vise à simplifier ses opérations tout en encourageant les développeurs à adopter WebAssembly.
L'avenir avec WebAssembly
Le compilateur asm.js, connu sous le nom de OdinMonkey, touche à sa fin. Cependant, son héritage perdure à travers BaldrMonkey, le compilateur optimisé pour WebAssembly. Cette transition marque non seulement la fin d'une ère, mais aussi le début d'une nouvelle, où WebAssembly règne en maître.
Pour les développeurs, cela signifie des applications web plus rapides, plus sûres et plus efficaces. WebAssembly continue de s'améliorer, avec des fonctionnalités comme le threading et le garbage collection qui renforcent encore ses capacités.
Conclusion
Dire adieu à asm.js est un pas en avant vers une optimisation accrue des performances web. Pour les développeurs, le moment est venu de saisir les opportunités offertes par WebAssembly.
Discutons de ton projet en 15 minutes.