Microsoft passe son moteur JavaScript, Chakra, en open source

Gaurav Seth, le chef de projet principal de Chakra, vient d’annoncer lors de la conférence JS Conf US Last Call, qui s’est tenue du 4 au 5 décembre 2015 en Floride, que Microsoft allait passer ChakraCore en code source ouvert.

ChakraCore est un sous-ensemble du moteur JavaScript du navigateur Microsoft Edge, le résultat d’une refonte totale entamée en 2008. Il est très rapide et il sait profiter des optimisations matérielles. D’après le test Octane 2.0 de Google, il est plus de 10 % plus rapide que le second navigateur, Chrome. D’après le test Jet Stream d’Apple, il est 40 % plus rapide que le second navigateur, également Google Chrome :

chakra-performance

Il est aussi actuellement le moteur le plus compatible avec le dernier standard du langage, ECMAScript 2015 : 90 % des fonctionnalités implémentées pour Edge, 74 % pour FireFox et 65 % pour Google Chrome.

ChakraCore se présente comme une machine virtuelle dont les interfaces spécifiques au navigateur Edge, à la plateforme Windows universelle, et à l’interface de programmation de diagnostic COM, ont été supprimées, et avec une interface de programmation de diagnostic indépendante de la plateforme, la Modern Diagnostic API, qui pourrait devenir un standard, ou que Microsoft pourrait rendre interopérable.

Pour le meilleur et pour le pire, JavaScript, un langage de programmation de type script conçu à l’origine pour écrire de petits programmes côté client (navigateur) dans les pages Web, est devenu un des langages les plus populaires, et il est utilisé aussi bien côté client que côté serveur, ou comme langage de script de systèmes comme un gestionnaire de bases de données.

Il est donc stratégique. C’est pourquoi Chakra est utilisé dans de nombreux produits Microsoft, du navigateur Edge aux applications universelles pour Xbox, téléphone ou PC, aux services dans le nuage comme l’assistant virtuel Cortana, le service de courriels Outlook.com ou la base de données ‘NoSQL’ DocumentDB de Microsoft Azure. Chakra est optimisé pour deux technologies multiplateformes prisées par les développeurs : Asm.js et Node.js.

Désormais, il pourra donc être utilisé par des solutions concurrentes. Le code source sera disponible sur GitHub avant la fin de l’année, et les développeurs pourront soumettre leurs contributions dès le début de l’année 2016.