En fin d'année dernière, à l'occasion de l'événement JSConf US, Microsoft annonçait vouloir publier plusieurs composants majeurs pour le moteur JavaScript de son navigateur Edge. Ces derniers sont désormais disponibles sur GitHub.
Plus précisément, Microsoft a publié ChakraCore et les développeurs seront en mesure de l'embarquer au sein de leurs propres produits. Chez Microsoft, Chakra est notamment utilisé au sein des applications universelles de Windows 10, mais aussi dans des applications hébergées (Cortana, Outlook.com), des bases de données SQL, Windows IOT Core, ou des moteurs de jeu.
L'année dernière, Microsoft a publié des benchmarks sur Octane 2.0, conçu par Google ou Jet Stream développé par Apple, démontrant les performances de son moteur face à ceux de la concurrence. Au travers des tests effectués en interne au mois de juillet, Microsoft Edge serait ainsi 112 % plus rapide que Chrome sur le test de WebKit Sunspider. En évaluant les performances d'Edge sur Google Octane, il serait 11 % plus rapide que Chrome. Enfin, sur Apple JetStream, il serait 37 % plus rapide que le navigateur de Google.
Le moteur du navigateur Edge est déjà compatible avec l'ensemble des spécifications d'ECMAScript 6 et pour Microsoft cette publication en open source lui permettra d'en améliorer ses performances. Plusieurs sociétés ont d'ailleurs déjà manifesté leurs intérêts, c'est notamment le cas d'AMD, Intel ou NodeSource.
Sur sa feuille de route, Microsoft prévoit de rendre ChakraCore multiplateforme, notamment pour la communauté Linux. A l'heure actuelle, le moteur de WebKit (WebCore) mais aussi V8, développé par Google, sont largement prisés. Microsoft propose ainsi une alternative.
La seule différence avec les implémentations effectuées par Microsoft est que ChakraCore n'inclut pas les composants permettant de l'insérer au sein des applications universelles, ni ceux rattachés au navigateur Edge, des usages jugés très spécifiques par Gaurav Seth, responsable du développement de Chakra.
ChakraCore est publié sous licence MIT. Les développeurs retrouveront davantage d'informations sur cette page ainsi que le code ici.