Liste der ECMascript -Motoren
Ein ECMascript -Engine ist ein Programm, das den Quellcode ausführt, der in einer Version des ECMaskript Sprachstandard zum Beispiel, JavaScript.
ECMascript -Motoren
Just-in-Time-Kompilierungsmotoren
Dies sind ECMAScript -Motoren der neuen Generation für Webbrowser, die alle implementiert werden Just-in-Time-Zusammenstellung (JIT) oder Variationen dieser Idee. Die Leistungsvorteile für die Just-in-Time-Compilation machen es für Webanwendungen, die in geschriebenen geschriebenen Webanwendungen sind, viel besser geeignet JavaScript.
- Carakan: Eine JavaScript -Engine, die von entwickelt wurde von Opera -Software ASA, inbegriffen in 10.50 Freigabe der Oper Webbrowser bis zum Umschalten auf V8 mit Opera 15 (veröffentlicht im Jahr 2013).[1][2][3][4]
- Chakra (Jscript9): EIN Jscript Motor verwendet in Internet Explorer. Es wurde zuerst vorschauten bei Mix 10 Im Rahmen der Vorschau der Internet Explorer 9 -Plattform.[5]
- Chakra: EIN JavaScript Motor verwendet in Microsoft Edge.[6]
- Spinnenaffe: Eine JavaScript -Engine in Mozilla Gecko Anwendungen, einschließlich Feuerfuchs. Der Motor umfasst derzeit das Ionmonkey Compiler und das Odinmonkey -Optimierungsmodul, der zuvor den Tracemonkey Compiler (First JavaScript JIT) und Jägermonkey aufgenommen hat.
- JavaScriptcore: Ein JavaScript -Interpreter und ein JIT, das ursprünglich abgeleitet ist von KJS. Es wird in der verwendet Webkit Projekt und Anwendungen wie z. Safari. Auch als Nitro, Squirrelfish und Squirrefish Extreme bekannt.[7]
- Jscript .net: EIN .NET Framework Jscript Motor verwendet in ASP.NET bezogen auf Gemeinsame Sprachlaufzeit und Com interop. Leider wurde die Unterstützung mit fallen gelassen mit .NET CORE und Coreclr Seine Zukunft sieht also fraglich aus für ASP.NET CORE.
- Tamarin: Ein Aktionen und Ecmascript -Engine in verwendet in Adobe Flash.
- V8: Eine JavaScript -Engine, die in verwendet wird Google Chrome und andere Chrom-basierte Browser, Node.js, Denound v8.net.
- Gnu Guile verfügt über einen ECMascript -Dolmetscher ab Version 1.9
- Nashorn: Eine JavaScript -Engine, die in verwendet wird Orakel Java Entwickler-Kit (JDK) Seit Version 8.[8]
- IV, ECMascript Lexer / Parser / Interpreter / VM / Methode JIT in C ++ geschrieben.[9]
- CL-JavaScript: Kann JavaScript für Maschinensprache auf gemeinsamen LISP-Implementierungen kompilieren, die zu Maschinensprache kompilieren.[10]
- BESEN: Eine vollständige JIT-Kompilierung von ECMascript Fifth Edition in Object Pascal.[11]
- Hermes: entwickelt von Facebook zum Reagieren nativ Mobile Apps[12]
- Graal.js: eine ecmascript -konforme JavaScript -Engine für Graalvm Dies unterstützt die Sprachinteroperabilität, die auch Node.js -Anwendungen ausführen kann.
Laufzeit -Interpreter -Motoren
Die folgenden Motoren verwenden Laufzeit -Dolmetscher, die nicht in den nativen Maschinencode kompilieren und im Allgemeinen langsamer ausgeführt werden:
- Kontinuum: a Selbstinterpreter Dies unterstützt ältere Entwürfe der Spezifikation der ECMAScript 2015.[13] Eindeutig ist die Engine in ECMascript 3 implementiert, wodurch es möglich ist, ES2015 in Browsern so alt wie IE6 auszuführen.[14]
- Futhark: Die ECMascript -Engine der Oper Webbrowserversionen 9.50 bis 10.10.
- Inschriften: Ein veraltet proprietär Bibliothek verwendet für ICAB 2 und 3.
- Jscript: Der Motor, der in verwendet wird Internet Explorer Für Versionen bis IE9 und eine Komponente der MSHTML (Dreizack) Browsermotor.
- Jint: JavaScript -Interpreter mit integrierter Engine für .NET
- KJS: Der Motor in verwendet in Konquerorund eine Komponente von Khtml, ein Vorgänger von JavaScriptcore.
- Linear b: Die ECMascript -Engine der Oper Webbrowserversionen 7.0 bis 9.50, exklusiv.
- Narcissus: JavaScript in JavaScript (a Meta-kreisförmiger Bewerter), beabsichtigt, in einer anderen JavaScript -Engine nur theoretischer und pädagogischer Natur zu laufen.
- JS-INTERPRETER Ein leichtes JavaScript-Interpreter, der in JavaScript mit Schritt-für-Schritt-Ausführung in JavaScript implementiert ist.
- Qtscript: Ursprünglich von Trolltech entwickelt, jetzt im Besitz von Die QT -Firma. Es bietet die QObject -Integration mit JavaScriptCore.
- V4 (Qjsengine): Neuere ECMAScript -Engine von QT, die QML und Qtquick betreibt. ES6-konform und unter aktiver Entwicklung bei Die QT -Firma. V4 ist JIT zusammengestellt.[15]
- Nashorn: Einer von mehreren JavaScript -Motoren von Mozilla, Verwendung der Java -Plattform.
- Yaji: Eine ECMAScript-Engine basierend auf der FESI-Implementierung durch Jean-Marc LUUGRIN im Jahr 1999, bei der die Java -Plattformderzeit entwickelt, um die neuesten Standards zu unterstützen (ECMAScript Spec. 262, v5.1).[16][17][18]
- Duktape: Ein kleiner Fußabdruck, der leicht einbettet, ECMascript E5/E5.1 Motor.[19]
- XS JavaScript Engine: Eine ECMAScript 2020-konforme Engine für Mikrocontroller mit begrenzten Ressourcen.[20][21] XS wird von moddable als Teil des moddablen SDK aufrechterhalten und war früher Teil der Kinoma -Plattform.[22]
- JSISH: Ein ES5.1 -Subset -Interpreter mit integrierten Unterstützung in SQLite, JSON, WebSocket und ZVFS.[23]
- WebSocket.js: Eine eingebettete JavaScript -Engine mit HTTP/WebSocket -Unterstützung.[24]
- Espruino: Ein sehr kleiner Fußabdruck -Dolmetscher speziell für Mikrocontroller. Kann in weniger als 8 kb RAM ausgeführt werden, indem sie aus der Quelle ausführt (und nicht aus Bytecode).
- MUJS: Eine leichte ECMascript -Interpreter -Bibliothek, die zum Einbetten in andere Software entwickelt wurde, um sie mit Skriptfunktionen zu erweitern. Ursprünglich entwickelt für Mupdf.[25]
- MJS: eingeschränkte JavaScript -Engine. Verwendet für das Internet der Dinge (IoT).
- Tiny-Js: Ein in C ++ geschriebener minimaler JavaScript-Interpreter.
- Jerryscript: Eine leichte JavaScript -Engine von Samsung für Mikrocontroller mit weniger als 64 KB RAM.
- NJS: Ein leichtgewichtiger JavaScript -Interpreter, der für Webserverscripting und die schnellste VM -Kontext -Erstellung optimiert ist; benutzt in nginx.[26]
- QuickJS: Ein leichtgewichtiger ECMascript 6 Interpreter von Fabrice Bellard und Charlie Gordon.
- Engine262: Eine JavaScript -Engine, die in JavaScript für Entwicklung und Erkundung geschrieben wurde. Es wird in erster Linie zur Validierung der ECMascript -Spezifikation verwendet.
- BOA: Eine JavaScript -Engine geschrieben in Rost.[27][28]
Siehe auch
- Vergleich von JavaScript -Motoren
- JavaScript -Engine
- Vergleich der Anwendungsvirtualisierungssoftware
Verweise
- ^ "Archivierte Kopie". Archiviert von das Original am 2009-05-31. Abgerufen 2009-07-09.
{{}}
: CS1 Wartung: Archiviertes Kopie als Titel (Link) - ^ "Opera Desktop -Team Blog | Opera". Archiviert von das Original am 2006-03-03.
- ^ "Dev.Opera - Blog".
- ^ "Dev.Opera - Blog".
- ^ Häufig gestellte Fragen, Microsoft, 2010-03-13, archiviert aus das Original Am 2010-03-22, abgerufen 2010-03-18
- ^ "Targeting Edge vs. Legacy -Motoren in JSRT -APIs". Abgerufen 10. September 2015.
- ^ "Javascriptcore - Webkit".
- ^ "Oracle Nashorn: Eine JavaScript-Engine der nächsten Generation für die JVM".
- ^ "Konstellation/IV". GitHub. Abgerufen 2015-11-15.
- ^ "Cl-JavaScript". Abgerufen 2018-09-14.
- ^ "Unterstütze mich". GitHub. 18. November 2021.
- ^ "Hermes verwenden". Facebook. Abgerufen 9. April 2021.
- ^ http://www.ecma-international.org/ecma-262/6.0/
- ^ "Eine in JavaScript eingebaute ES6 -Virtualmaschine". Archiviert von das Original Am 2012-12-03. Abgerufen 2012-12-01.
- ^ "V4 - Qt Wiki". Wiki.qt.io. Abgerufen 2021-04-24.
- ^ "ECMascript-Sprachspezifikation ECMA-262 5.1 Edition" (PDF). ECMA International. Juni 2011. archiviert von das Original (PDF) Am 2015-04-12. Abgerufen 2012-01-31.
- ^ "Yaji: Ein weiterer JavaScript -Interpreter". Google -Code. Abgerufen 2012-01-31.
- ^ "Fesi". September 2003. archiviert von das Original Am 2012-09-06. Abgerufen 2012-08-06.
- ^ "Duktape". Abgerufen 2013-09-21.
- ^ https://github.com/moddable-opensource/moddable/blob/public/documentation/xs/xs%20Conformance.md#results
- ^ "Apps für IoT". Archiviert von das Original Am 2018-12-28.
- ^ https://www.moddable.com/xs7-tc-39
- ^ "JSISH". Abgerufen 2014-04-30.
- ^ "Websocket.js". GitHub. Abgerufen 2014-07-16.
- ^ "Mujs". Abgerufen 2014-09-22.
- ^ "Nginx JavaScript in Ihrer Webserverkonfiguration". Youtube. Archiviert vom Original am 2021-12-13. Abgerufen 2018-10-30.
- ^ "Lassen Sie uns eine JavaScript -Engine bauen". 2019.jsconf.eu. Abgerufen 2022-03-23.
- ^ "Github - Jasonwilliams/Boa: Boa ist eine eingebettete und experimentelle JavaScript -Engine, die in Rost geschrieben wurde.". github.com. Abgerufen 2022-04-08.