JavaScript-Engine - JavaScript engine

Eine JavaScript-Engine ist ein Computerprogramm, das JavaScript- Code ausführt . Die ersten JavaScript-Engines waren reine Interpreter , aber alle relevanten modernen Engines verwenden die Just-in-Time-Kompilierung für eine verbesserte Leistung.

JavaScript-Engines werden normalerweise von Webbrowser- Anbietern entwickelt, und jeder große Browser hat eine. In einem Browser läuft die JavaScript-Engine zusammen mit der Rendering-Engine und kann Elemente des Document Object Model manipulieren .

Die Verwendung von JavaScript-Engines ist nicht auf Browser beschränkt. Die V8-Engine ist beispielsweise eine Kernkomponente der Laufzeitsysteme Node.js und Deno (Programme, die JS-Quellcode ausführen).

Da ECMAScript die standardisierte Spezifikation von JavaScript ist, ist ECMAScript-Engine ein anderer Name für diese Engines. Mit dem Aufkommen von WebAssembly können einige Engines diesen Code auch in derselben Sandbox wie regulärer JavaScript-Code ausführen.

Geschichte

Die erste JavaScript-Engine wurde 1995 von Brendan Eich für den Webbrowser Netscape Navigator entwickelt . Es war ein rudimentärer Dolmetscher für die aufkommende Sprache, die Eich erfunden hatte. (Dies entwickelte sich zur SpiderMonkey- Engine, die immer noch vom Firefox- Browser verwendet wird.)

Die erste moderne JavaScript-Engine war V8 , die von Google für seinen Chrome- Browser entwickelt wurde. V8 debütierte 2008 als Teil von Chrome und seine Leistung war viel besser als bei jedem früheren Motor. Die wichtigste Neuerung war die Just-in-Time-Kompilierung , die die Ausführungszeiten erheblich verbessern kann.

Andere Browseranbieter mussten ihre Interpreter überarbeiten, um wettbewerbsfähig zu sein. Apple hat die Nitro- Engine für seinen Safari- Browser entwickelt, der eine 30% bessere Leistung als sein Vorgänger hatte. Mozilla nutzte Teile von Nitro, um seine eigene SpiderMonkey-Engine zu verbessern.

Seit 2017 unterstützen diese Engines WebAssembly . Dies ermöglicht die Verwendung vorkompilierter ausführbarer Dateien für leistungskritische Teile von Seitenskripten.

Bemerkenswerte Motoren

Verweise