Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

List of JavaScript engines

From Wikipedia, the free encyclopedia
Software component that runs JavaScript

The firstengines forJavaScript were mereinterpreters of thesource code, but all relevant modern engines usejust-in-time compilation for improved performance.[1] JavaScript engines are typically developed byweb browser vendors, and every major browser has one. In a browser, the JavaScript engine runs in concert with therendering engine via theDocument Object Model andWeb IDL bindings.[2] However, the use of JavaScript engines is not limited to browsers; for example, theV8 engine is a core component of theNode.jsruntime system.[3] They are also calledECMAScript engines, after the official name of the specification. With the advent ofWebAssembly, some engines can also execute this code in the samesandbox as regular JavaScript code.[4][3]

History

[edit]

The first JavaScript engine was created byBrendan Eich in 1995 for theNetscape Navigatorweb browser.[5] It was a rudimentaryinterpreter for the nascent language Eich invented.[6] (This evolved into theSpiderMonkey engine, still used by theFirefox browser.[5])Google debuted itsChrome browser in 2008, with theV8 JavaScript engine that was faster than its competition.[7][8] The key innovation wasjust-in-time compilation (JIT), whichMozilla had also been working on for SpiderMonkey.[9] Because of V8's performance, the other browser vendors needed to overhaul their engines for JIT.[10]Apple developed theNitro engine for itsSafari browser, which had 30% better performance than its predecessor.[11] Mozilla then leveraged portions of Nitro to improve SpiderMonkey.[12] Since 2017, these engines have added support forWebAssembly.[4]

List

[edit]
EngineDescription
V8A JavaScript engine used inGoogle Chrome and otherChromium-based browsers (such asMicrosoft Edge). Also used inNode.js,Deno, and V8.NET.
SpiderMonkeyA JavaScript engine in MozillaGecko applications, includingFirefox. The engine currently includes the IonMonkey compiler and OdinMonkey optimization module, has previously included the TraceMonkey compiler (first JavaScript JIT) and JägerMonkey.
JavaScriptCoreA JavaScript interpreter and JIT originally derived fromKJS. It is used in theWebKit project, applications such asSafari, and theBun runtime. Also known as Nitro, SquirrelFish, and SquirrelFish Extreme.[13]
KJSThe engine used inKonqueror, and one component ofKHTML, a predecessor to JavaScriptCore.
JScriptThe engine that is used inInternet Explorer for versions up to IE9, and one component of theMSHTML (Trident)browser engine.
Chakra (JScript9)AJScript engine used inInternet Explorer. It was first previewed atMIX 10 as part of the Internet Explorer 9 Platform Preview.[14]
ChakraAJavaScript engine used inMicrosoft Edge [Legacy].[15]
Linear BThe ECMAScript engine of theOpera web browser versions 7.0 to 9.50, exclusive.
FutharkThe ECMAScript engine of theOpera web browser versions 9.50 to 10.10.
CarakanA JavaScript engine developed byOpera Software ASA, included in the10.50 release of theOpera web browser, until switching toV8 with Opera 15 (released in 2013).[16][17][18]
Graal.jsAn ECMAScript compliant JavaScript engine forGraalVM which supports language interoperability that can also execute Node.js applications.
RhinoOne of several JavaScript engines fromMozilla, using theJava platform.
NashornA JavaScript engine used inOracleJava Development Kit (JDK) from Java versions 8-14.[19] Now available as a standalone library which can be used with Java 11 and higher.[20]
JScript .NETA.NET FrameworkJScript engine used inASP.NET based onCommon Language Runtime andCOM Interop. Support was dropped with.NET Core andCoreCLR so its future looks questionable forASP.NET Core.
TamarinAnActionScript and ECMAScript engine used inAdobe Flash.
GNU Guilefeatures an ECMAScript interpreter as of version 1.9
ivECMAScript Lexer / Parser / Interpreter / VM / method JIT written in C++.[21]
CL-JavaScriptCan compile JavaScript to machine language on Common Lisp implementations that compile to machine language.[22]
BESENA complete JIT-compiling implementation of ECMAScript Fifth Edition written in Object Pascal.[23]
Hermesdeveloped byFacebook forReact Native mobile apps[24] Can also be used independent from React Native.
ContinuumAself-interpreter that supports older drafts of the ECMAScript 2015 specification.[25] Uniquely, the engine is implemented in ECMAScript 3, which made it possible to run ES2015 in browsers as old as IE6.[26]
InScriptAn obsoleteproprietary library used foriCab 2 and 3.
JintJavascript interpreter with integrated engine for .NET
NarcissusJavaScript implemented in JavaScript (ameta-circular evaluator), intended to run in another JavaScript engine, of theoretical and educational nature only.
JS-InterpreterA lightweight JavaScript interpreter implemented in JavaScript with step-by-step execution.
QtScriptOriginally developed by Trolltech, now owned byThe Qt Company. It provides QObject integration with JavaScriptCore.
V4 (QJSEngine)Qt's newer ECMAScript engine, powering QML and QtQuick. ES6-compliant and under active development atThe Qt Company. V4 is JIT compiled.[27]
YAJIAn ECMAScript engine based on the FESI implementation by Jean-Marc Lugrin in 1999, using theJava platform, currently being developed to support the latest standards (ECMAScript spec. 262, v5.1).[28][29][30]
MicroviumJavaScript engine for microcontrollers, supporting a restricted subset of the ECMAScript specification, using less than 16 kB of flash memory and 64 B of RAM while idle.[31]
DuktapeA small footprint, easily embeddable Ecmascript E5/E5.1 engine.[32]
XS JavaScript EngineAn ECMAScript 2020-compliant engine for microcontrollers with limited resources.[33][34] XS is maintained by Moddable as part of the Moddable SDK and was formerly part of theKinoma Platform.[35]
JsishAn ES5.1 subset interpreter with builtin SQLite, JSON, WebSocket, and ZVFS support.[36]
EspruinoA very small footprint interpreter specifically formicrocontrollers. Can run in less than 8 kB of RAM by executing from source (rather thanbytecode).
MuJSA lightweight ECMAScript interpreter library, designed for embedding in other software to extend them with scripting capabilities. Originally developed forMuPDF.[37]
mJSRestricted JavaScript engine. Used for Internet of Things (IoT).
Tiny-JSA minimal JavaScript interpreter written in C++.
JerryScriptA lightweight JavaScript engine by Samsung for microcontrollers with less than 64 KB RAM.
njsA lightweight JavaScript interpreter optimized for web server scripting and fastest VM context creation; used innginx.[38]
quickjsA lightweight ECMAScript 6 interpreter byFabrice Bellard and Charlie Gordon; it features a compiler to produce binary executable from .js.
engine262A JavaScript engine written in JavaScript for development and exploration. It is primarily used to validate the ECMAScript specification.
BoaA JavaScript engine written inRust.[39][40]
ScriptEaseAn old proprietary engine last updated in 2003. Only notable for its use in theJames Webb Space Telescope.[41]
LibJSJavaScript engine of theSerenityOS andLadybird projects.[42] Initially it was an AST interpreter, but has been upgraded to a bytecode-based one.[43]
KieselJavaScript engine by Linus Groh written inZig.[44][45][46]

References

[edit]
  1. ^Looper, Jen (21 September 2015)."A Guide to JavaScript Engines for Idiots".Telerik Developer Network. Archived fromthe original on 8 December 2018. Retrieved8 December 2018.
  2. ^"How Blink Works". Google. Retrieved12 March 2024.
  3. ^ab"Documentation · V8". Google. Retrieved3 March 2024.
  4. ^abNelaturu, Keerthi."WebAssembly: What's the big deal?".medium.com. Retrieved3 March 2024.
  5. ^abEich, Brendan (21 June 2011)."New JavaScript Engine Module Owner".
  6. ^Fin JS (17 June 2016),"Brendan Eich – CEO of Brave",YouTube, retrieved7 February 2018
  7. ^"Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome".PC Games Hardware. Computec Media AG. 3 July 2009.Archived from the original on 2 May 2012. Retrieved28 June 2010.
  8. ^Purdy, Kevin (11 June 2009)."Lifehacker Speed Tests: Safari 4, Chrome 2".Lifehacker.Archived from the original on 14 April 2021. Retrieved8 May 2021.
  9. ^"TraceMonkey: JavaScript Lightspeed, Brendan Eich's Blog".Archived from the original on 4 December 2015. Retrieved22 July 2020.
  10. ^"Mozilla asks, 'Are we fast yet?'".Wired.Archived from the original on 22 June 2018. Retrieved18 January 2019.
  11. ^Safari 5 Released
  12. ^Shankland, Stephen (2 March 2010)."Opera 10.5 brings new JavaScript engine".CNET. CBS Interactive. Archived fromthe original on 3 October 2013. Retrieved30 January 2012.
  13. ^"JavaScriptCore – WebKit".
  14. ^Frequently Asked Questions,Microsoft, 13 March 2010, archived fromthe original on 22 March 2010, retrieved18 March 2010
  15. ^"Targeting Edge vs. Legacy Engines in JsRT APIs". Retrieved10 September 2015.
  16. ^"Carakan". Archived fromthe original on 31 May 2009. Retrieved9 July 2009.
  17. ^"Opera Desktop Team's Blog | Opera". Archived fromthe original on 3 March 2006.
  18. ^"Dev.Opera — Blog".dev.opera.com.
  19. ^"Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM".
  20. ^"Using Nashorn with different Java versions".GitHub. Retrieved23 January 2025.
  21. ^"Constellation/iv".GitHub. Retrieved15 November 2015.
  22. ^"CL-JavaScript". Retrieved14 September 2018.
  23. ^"Support me".GitHub. 18 November 2021.
  24. ^"Using Hermes". Facebook. Retrieved9 April 2021.
  25. ^"ECMAScript 2015 Language Specification – ECMA-262 6th Edition".
  26. ^"An ES6 Virtual Machine Built in JavaScript". Archived fromthe original on 3 December 2012. Retrieved1 December 2012.
  27. ^"V4 - Qt Wiki".wiki.qt.io. Retrieved24 April 2021.
  28. ^"ECMAScript Language Specification ECMA-262 5.1 edition"(PDF). Ecma International. June 2011. Archived fromthe original(PDF) on 12 April 2015. Retrieved31 January 2012.
  29. ^"YAJI: Yet Another JavaScript Interpreter".Google Code. Retrieved31 January 2012.
  30. ^"FESI". September 2003. Archived fromthe original on 6 September 2012. Retrieved6 August 2012.
  31. ^"Microvium is very small". 11 June 2022. Retrieved23 August 2022.
  32. ^"Duktape". Retrieved21 September 2013.
  33. ^"moddable/documentation/xs/XS Conformance.md at public".GitHub.
  34. ^"Apps for IoT". Archived fromthe original on 28 December 2018.
  35. ^"Xs7 @ Tc-39".
  36. ^"Jsish". Retrieved30 April 2014.
  37. ^"MuJS". Retrieved22 September 2014.
  38. ^"NGINX JavaScript in Your Web Server Configuration".YouTube. 26 October 2018.Archived from the original on 13 December 2021. Retrieved30 October 2018.
  39. ^"Let's build a JavaScript Engine".2019.jsconf.eu. Retrieved23 March 2022.
  40. ^"GitHub - boa-dev/boa: Boa is an embeddable and experimental Javascript engine written in Rust".github.com. Retrieved8 April 2022.
  41. ^Clark, Mitchell (18 August 2022)."The James Webb Space Telescope runs JavaScript, apparently".The Verge. Retrieved2 September 2022.
  42. ^"LibJS JavaScript engine".libjs.dev. Retrieved30 June 2023.
  43. ^"LibJS: Rip out the AST interpreter :^) · LadybirdBrowser/ladybird@2eaa528".GitHub. Retrieved10 July 2024.
  44. ^"Kiesel JavaScript Engine".kiesel.dev. Retrieved9 April 2025.
  45. ^kiesel-js."kiesel".Codeberg.org. Retrieved9 April 2025.
  46. ^"Linus Groh".linus.dev. Retrieved18 April 2025.
Dialects
Engines
(list)
Frameworks
Client-side
Server-side
Multiple
  • Cappuccino
Libraries
People
Other
Code analysis
Supersets
Transpilers
Concepts
Debuggers
Documentation generators
Editors (comparison)
Engines
Frameworks
Relatedtechnologies
Package managers
Module bundlers
Server-side
Unit testing frameworks (list)
People
Retrieved from "https://en.wikipedia.org/w/index.php?title=List_of_JavaScript_engines&oldid=1294468136"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp