© saicle/Shutterstock.com
Die JavaScript Engine von Microsoft außerhalb des Browsers

Chakra bricht aus


JavaScript ist schon lange kein reines Browserthema mehr. Spätestens seit der Welle an Beliebtheit, die Node.js und der dabei zum Einsatz kommenden Google V8 JavaScript Engine entgegenschwappt, ist klargeworden, dass JavaScript auch außerhalb des Browsers von großer Bedeutung ist. Gleichzeitig kam mit Windows 10 Edge ein brandneuer Browser von Microsoft, bei dem sich in Sachen JavaScript eine Menge getan hat. Wie kann man von diesen Entwicklungen außerhalb der Browsergrenzen profitieren? Mit dieser Frage wollen wir uns in diesem Artikel beschäftigen.

JavaScript (aka ECMAScript) ist die Programmiersprache des Webs. Durch die Standardisierung steht sie in allen praxisrelevanten Browsern auf allen nennenswerten Plattformen zur Verfügung. Auch wenn es da oder dort Kritikpunkte gibt, die breite Verfügbarkeit ist ein großes Argument für JavaScript.

Wofür JavaScript außerhalb des Browsers?

Die wenigsten Webseiten stehen aber für sich alleine. Die Mehrzahl setzt serverseitigen Code voraus, mit dem über REST, WebSockets oder Ähnlichem kommuniziert wird. Wenn man für das Web sowieso zum JavaScript-Profi werden muss, warum nicht dieses Wissen in anderen Bereichen wiederverwenden? Dieser Gedanke hat dazu geführt, dass JavaScript heute längst die Grenzen der Browser gesprengt hat. Andere Hosts betten eine JavaScript Engine ein und ermöglichen dadurch Scripting mit der Sprache des Webs. Hier zwei Beispiele:

  • Node.js bringt JavaScript auf den Server sowie auf IoT-Devices und erlaubt es außerdem, plattform­unabhängige Kommandozeilenwerkzeuge (CLI, Command Line Interfaces) zu schreiben. Auch Microsoft hat in den letzten Jahren speziell bei der Cloud-Computing-Plattform Microsoft Azure Node. js ins Herz geschlossen, nutzt es selbst und bietet Entwicklerinnen und Entwicklern hervorragende Node.js-Unterstützung.

  • Mit DocumentDB [1] hat Microsoft eine hoch skalierbare dokumentenorienterte NoSQL-Datenbank für Azure entwickelt. DocumentDB erlaubt serverseitige Logik geschrieben in JavaScript.

Viele kommerzielle Standardsoftwareprodukte bieten Endbenutzern die Möglichkeit, den vorhandenen Funktionsumfang zu erweitern. Die Popularität von JavaScript hat dazu geführt, dass dafür immer häufiger diese Sprache in Betracht gezogen wird. Eine moderne JavaScript Engine wie Chakra darf daher nicht mehr fest mit dem Browser als Host verbunden sein. Sie braucht ein allgemeines Hosting-API, mit dem JavaScript in beliebige Programme eingebunden werden kann. Bevor wir aber einen genaueren Blick auf das Hosting-API von Chakra werfen, ein paar Worte über die Entstehung von Chakra und den Stand der Dinge bei Edge und Windows 10.

Entwicklung von Chakra

Chakra ist der Codename der JavaScript Engine von Microsoft, die erstmals in Internet Explorer 9 das Licht der Welt erblickt hat. Mit Edge hat Microsoft einen harten Schnitt gemacht. Die alte Chakra Engine, die in IE9, 10 und 11 ihren Dienst tut, wurde eingefroren. Der Code wurde in ein neues Projekt übernommen (und natürlich stark überarbeitet, dazu später mehr) und die Strategie für Versionierung wurde grundlegend verändert. Microsoft beschloss, alte Zöpfe abzuschneiden und Schluss zu machen mit Dingen wie Document Modes und pro­prietären Erweiterungen wie ActiveXObjects. Außerdem wurde festgelegt, dass es in Zukunft unter Windows eine einzige, so genannte „living“ Version von Chakra geben sollte. Statt von IE zu IE neue Versionen oben drauf zu packen, wird eine Version aktualisiert. Dinge wie Innovation, kontinuierliche Verbesserung und Konformität zu Standards werden von jetzt an höher bewertet als Rückwärtskompatibilität um jeden Preis.

Chakra in IE11 vs. Chakra unter Windows 10

Auf jedem Windows-System, auf dem Internet Explorer 11 installiert ist, findet man die „alte“ Chakra Engine in der DLL jscript9.dll. Nachdem IE 11 unter Windows 10 aus Kompatibilitätsgründen ebenfalls installiert ist, ist jscript9.dll auch dort im Windows-Systemverzeichnis vorhanden. Gemeinsam mit mshtml.dll bildet sie das rückwärtskompatible Herzstück der Rendering und Execution Engine von Internet Explorer. Mit dem Edge-Browser ist Chakra übersiedelt. Man findet sie gemeinsam mit der Edge HTML Engine edgehtml.dll im Windows-System verzeichnet als chakra.dll. Zukünftige Erweiterungen und Verbesserungen werden nur noch hier geschehen.

Als Entwickler hat man unter Windows 10 d...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang