Microsoft open source Chakra, le moteur JS du navigateur Edge

Microsoft open source Chakra, le moteur JS du navigateur Edge Les sources du noyau du moteur JavaScript, le ChakraCore, sont disponibles sur GitHub sous licence MIT. Microsoft annonce son intention de le porter sur Linux.

En décembre, Microsoft avait annoncé sa volonté d'ouvrir le code du noyau du moteur JavaScript équipant son navigateur Edge (alias Chakra). C'est désormais chose faite. L'éditeur a publié les sources de Chakra sur GitHub sous licence MIT.

Le moteur JavaScript Chakra avait été initialement développé pour motoriser Internet Explorer 9. Il a ensuite été optimisé pour équiper Edge, le nouveau navigateur de Microsoft livré avec Windows 10. Son compilateur JavaScript JIT a notamment été amélioré pour l'occasion dans l'optique de se mettre à la hauteur de grands concurrents (notamment les moteurs de Chrome et Firefox).

Microsoft indique que Chakra  est aussi utilisé pour gérer l'exécution de son assistant vocal Cortana, mais aussi de son service de messagerie en ligne Outlook.com, et sa base NoSQL en mode cloud (Azure DocumentDB). Il est aussi utilisé dans Windows 10 pour assurer l'exécution de l'infrastructure JavaScript. 

Vers un portage de Chakra sur Linux

Le ChakraCore recouvre le runtime JIT de Chakra, le ramasse miette, le parseur et l'interpréteur du moteur JavaScript, ainsi qu'une série d'API. Pour l'heure, Microsoft ne prévoit pas d'ouvrir les sources des autres parties de Chakra (les API de diagnostic COM,  ou encore les bindings privés vers le navigateur et l'Universal Windows Platform).

"Même si la version que nous avons publiée se limite à Windows, nous allons faire en sorte de porter ChakraCore sur d'autres plateformes dans le futur. Nous allons commencer par Linux", souligne Microsoft (lire le post de cette annonce). Autre chantier évoqué : la volonté de collaborer avec le projet Node.js en vue d'aboutir à une prise en charge de l'infrastructure JavaScript par ChakraCore.

L'éditeur entend impliquer la communauté des développeurs dans les évolutions à venir de ChakraCore. "Un fois les pull request contrôlés, nous nous assurerons que les changements pourront s'intégrer au moteur JavaScript d'Edge et à l'Universal Windows Platform", précise Microsoft.

Architecture de Chakra. © Microsoft