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.

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

Verweise

  1. ^ "Archivierte Kopie". Archiviert von das Original am 2009-05-31. Abgerufen 2009-07-09.{{}}: CS1 Wartung: Archiviertes Kopie als Titel (Link)
  2. ^ "Opera Desktop -Team Blog | Opera". Archiviert von das Original am 2006-03-03.
  3. ^ "Dev.Opera - Blog".
  4. ^ "Dev.Opera - Blog".
  5. ^ Häufig gestellte Fragen, Microsoft, 2010-03-13, archiviert aus das Original Am 2010-03-22, abgerufen 2010-03-18
  6. ^ "Targeting Edge vs. Legacy -Motoren in JSRT -APIs". Abgerufen 10. September 2015.
  7. ^ "Javascriptcore - Webkit".
  8. ^ "Oracle Nashorn: Eine JavaScript-Engine der nächsten Generation für die JVM".
  9. ^ "Konstellation/IV". GitHub. Abgerufen 2015-11-15.
  10. ^ "Cl-JavaScript". Abgerufen 2018-09-14.
  11. ^ "Unterstütze mich". GitHub. 18. November 2021.
  12. ^ "Hermes verwenden". Facebook. Abgerufen 9. April 2021.
  13. ^ http://www.ecma-international.org/ecma-262/6.0/
  14. ^ "Eine in JavaScript eingebaute ES6 -Virtualmaschine". Archiviert von das Original Am 2012-12-03. Abgerufen 2012-12-01.
  15. ^ "V4 - Qt Wiki". Wiki.qt.io. Abgerufen 2021-04-24.
  16. ^ "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.
  17. ^ "Yaji: Ein weiterer JavaScript -Interpreter". Google -Code. Abgerufen 2012-01-31.
  18. ^ "Fesi". September 2003. archiviert von das Original Am 2012-09-06. Abgerufen 2012-08-06.
  19. ^ "Duktape". Abgerufen 2013-09-21.
  20. ^ https://github.com/moddable-opensource/moddable/blob/public/documentation/xs/xs%20Conformance.md#results
  21. ^ "Apps für IoT". Archiviert von das Original Am 2018-12-28.
  22. ^ https://www.moddable.com/xs7-tc-39
  23. ^ "JSISH". Abgerufen 2014-04-30.
  24. ^ "Websocket.js". GitHub. Abgerufen 2014-07-16.
  25. ^ "Mujs". Abgerufen 2014-09-22.
  26. ^ "Nginx JavaScript in Ihrer Webserverkonfiguration". Youtube. Archiviert vom Original am 2021-12-13. Abgerufen 2018-10-30.
  27. ^ "Lassen Sie uns eine JavaScript -Engine bauen". 2019.jsconf.eu. Abgerufen 2022-03-23.
  28. ^ "Github - Jasonwilliams/Boa: Boa ist eine eingebettete und experimentelle JavaScript -Engine, die in Rost geschrieben wurde.". github.com. Abgerufen 2022-04-08.