Microsoft Edge: JavaScript-Engine Chakra erhält Open-Source-Version

Parwez Farsan
15 Kommentare
Microsoft Edge: JavaScript-Engine Chakra erhält Open-Source-Version

Microsoft wird die Kernkomponenten der dem in Windows 10 enthaltenen Browser Edge zugrunde liegenden JavaScript-Engine Chakra im Januar unter Open-Source-Lizenz veröffentlichen. Die in der Open-Source-Version ChakraCore genannte Engine soll alle wichtigen Schlüsselkomponenten enthalten.

Ein GitHub-Repository mit dem Quellcode wird voraussichtlich im Januar bereitgestellt. Neben der Hoffnung auf eine aktive Community-Partizipation an der Entwicklung von ChakraCore hat Microsoft nach eigenen Angaben bereits die ersten Unternehmen für eine Mitarbeit an ChakraCore gewinnen können. Namentlich genannt werden AMD, Intel und Nodesource.

Die Ursprünge von Chakra reichen bis ins Jahr 2008 zurück, als bei Microsoft die Entwicklung einer von Grund auf neu gestalteten JavaScript-Engine begann, die dann unter dem Namen Chakra erstmals im 2011 erschienenen Internet Explorer 9 eingesetzt wurde. Die neueste Version von Chakra steckt in Microsofts neuem Browser Edge, der im Sommer als Teil von Windows 10 veröffentlicht wurde. Sie unterstützt nicht nur die meisten Funktionen von ECMAScript 2015 (ES6), sondern setzte mit Spitzenwerten im Google-Octane-2.0- und Apple-Jet-Stream-Benchmark auch Duftmarken in puncto Leistung und kann den Spitzenplatz den von Microsoft veröffentlichten Ergebnissen zufolge auch weiterhin behaupten.

Vergleich der JavaScript-Leistung der wichtigsten Browser (System: 64-Bit-Browser auf Intel Core i5-3475S @ 2,90 GHz mit 4 GB RAM und Windows 10)
Vergleich der JavaScript-Leistung der wichtigsten Browser (System: 64-Bit-Browser auf Intel Core i5-3475S @ 2,90 GHz mit 4 GB RAM und Windows 10) (Bild: Microsoft)

Der Einsatz von Chakra ist mittlerweile aber nicht mehr auf Microsofts Browser beschränkt. Die JavaScript-Engine steckt anderem auch unter der Haube der Universal Windows Apps, von Azure DocumentDB, Cortana, Outlook.com und TypeScript. Seit der Einführung von Windows 10 läuft im Hinblick auf Windows 10 IoT Core zudem auch Node.js mit Chakra.

Unterschiede zwischen Chakra und ChakraCore

Der Quellcode von ChakraCore liegt zwar noch nicht vor, Microsoft geht aber bereits auf die Unterschiede zu Chakra ein und verspricht der Open-Source-Gemeinde eine komplette JavaScript-Engine mit vollständiger Unterstützung und den gleichen Funktionen wie Chakra, die beispielsweise für NoSQL-Datenbanken, Anwendungen und Spieleengines genutzt werden könne.

Die mehrstufige Ausführungs-Pipeline von Chakra und ChakraCore
Die mehrstufige Ausführungs-Pipeline von Chakra und ChakraCore (Bild: Microsoft)
Komponenten von Chakra und ChakraCore
Komponenten von Chakra und ChakraCore (Bild: Microsoft)

Zwei wichtige Unterschiede gebe es jedoch. Zum einen werde ChakraCore nicht die Anbindung Chakras an Edge oder die Universal Windows Platform offenlegen. Zum anderen wird ChakraCore statt die COM-basierten Diagnose-APIs in Chakra offenzulegen eine Reihe neuer Diagnose-APIs unterstützten, die unabhängig von der Plattform sind und auf Sicht standardisiert oder zwischen verschiedenen Implementierungen interoperabel gemacht werden könnten. Anders herum sollen die neuen APIs zu gegebener Zeit aber in Chakra implementiert werden.

Die ersten Schritte

Bis ChakraCore selbst die Grenzen des Windows-Ökosystems hinter sich lässt, wird allerdings noch einige Zeit vergehen. Die für Januar erwartete erste Version wird nur Windows unterstützen. Perspektivisch plant Microsoft aber die Portierung auf weitere Plattformen und hofft hierbei auch auf die Mithilfe anderer Entwickler.

Zudem soll die Engine noch flexibler und skalierbarer werden, um angefangen beim kleinen IoT-Gerät mit begrenzten Hardwareressourcen bis hinauf zu hoch parallelisierten, Cloud-basierten Server-Anwendungen mit hohem Durchsatz eine optimale Leistung zu liefern.