Microsoft a annoncé hier soir son intention d’intégrer le support du moteur JavaScript asm.js au sein de son propre moteur Chakra. Un important mouvement qui pave la voie non seulement à une coopération plus étroite avec Mozilla, mais également à une interopérabilité renforcée sur la toile. Explications.
Jamais Microsoft ne s’est autant investi dans les consensus. Les prémices de ces changements ont plusieurs années, mais au bout d’un an de Satya Nadella à la tête de l’entreprise, la nouvelle philosophie est manifeste : il faut être partout et prendre en charge tout ce qui est ou peut être intéressant ou très utilisé. Dans le cas présent, il s’agit d’asm.js, un sous-ensemble de JavaScript qui se présente sous la forme d’un langage intermédiaire.
Des applications web presque aussi rapides que du code natif
Quel est l’intérêt de ce projet développé chez Mozilla ? Augmenter tout simplement les performances des applications web afin qu’elles se rapprochent autant que possible de ce que l’on aurait nativement dans un logiciel équivalent. Pour cela, asm.js propose aux développeurs d’utiliser des langages à typage statique et à gestion manuelle de la mémoire, puis de les transcrire directement en JavaScript. Avec un langage tel que le C, le gain de performances est notable et provient en bonne partie de l’inutilité de recourir au ramasse-miettes, et pour le moteur d’effectuer les traditionnelles opérations sur les types dynamiques. Par ailleurs, tout langage compilable par LLVM peut être utilisé.
Et Microsoft s’enthousiasme. D’une part, parce qu’asm.js apporte justement un gain de performances manifeste et que sa prise en charge pourrait permettre de l’utiliser dans un plus grand nombre de scénarios. D’autre part, parce que le projet est vraiment un sous-ensemble du JavaScript et que son interopérabilité est, de ce fait, garantie entre toutes les plateformes et tous les navigateurs qui l’utiliseront. « Ce qui signifie que les moteurs qui supportent asm.js activeront les nouvelles fonctionnalités, tandis que ceux qui ne le font pas pourront fonctionner avec des performances moindres » indique ainsi l’éditeur.
Microsoft et Mozilla main dans la main
La firme indique que le support d’asm.js était le résultat d’une requête figurant dans le Top 10 de l’IE Suggestion Box. Conséquence, Microsoft travaille déjà depuis des mois avec l’équipe de Firefox afin de l'inclure dans Internet Explorer. Le statut de la fonctionnalité est d’ailleurs passé à « In Development » hier, mais la société ne donne aucune indication sur la disponibilité réelle. Il y a cependant de fortes chances qu’asm.js apparaisse avec une nouvelle préversion de Windows 10 dans Internet Explorer et Spartan.
Les réactions à l’annonce de Microsoft sont particulièrement positives, y compris du côté de chez Mozilla. La fondation se dit très enthousiaste, elle aussi, de ce partenariat rapproché, et ce, pour deux raisons : premièrement, il s’agit d’un vrai travail conjoint qui va mener à des optimisations sur asm.js, qui produira donc à terme de meilleures performances. Deuxièmement, et il s’agit d’un argument tout aussi important, l’adoption d’asm.js par Redmond va nettement augmenter la visibilité de la technologie, ce qui devrait accélérer son adoption.