List of ECMAScript engines explained

An ECMAScript engine is a software platform that can run code written in ECMAScript, a programming language more commonly known as JavaScript.

More formally, an ECMAScript engine is, at least in part, a "conforming implementation" of the ECMAScript programming language specified by the ECMA-262 international standard.[1]

Many implementations of ECMAScript engines are available, which differ based on the platforms they are intended to support, their level of conformance, and other implementation-specific characteristics. This article attempts to provide a relatively comprehensive list of engines that execute ECMAScript code.

The uses of the listed engines vary widely; some of these are engines intended for browsers that can run ECMAScript code on websites that include ECMAScript, like V8 (used in both Google Chrome and Node.js) and SpiderMonkey; some are intended for specific platforms (like Tamarin, Espruino, Rhino, Nashorn, and GraalJS).

Just-in-time compilation engines

These are new generation ECMAScript engines for web browsers, all implementing just-in-time compilation (JIT) or variations of that idea. The performance benefits for just-in-time compilation make it much more suitable for web applications written in JavaScript.

Runtime interpreter engines

The following engines use runtime interpreters, which do not compile into native machine code and generally run more slowly:

See also

Notes and References

  1. https://tc39.es/ecma262/
  2. Web site: Carakan . 2009-07-09 . https://web.archive.org/web/20090531095136/http://labs.opera.com/news/2009/02/05/ . 2009-05-31 . dead .
  3. Web site: Opera Desktop Team's Blog | Opera. https://web.archive.org/web/20060303160759/http://my.opera.com/desktopteam/blog/. 2006-03-03.
  4. Web site: Dev.Opera — Blog. dev.opera.com.
  5. Web site: Targeting Edge vs. Legacy Engines in JsRT APIs. 10 September 2015.
  6. Web site: JavaScriptCore – WebKit.
  7. Web site: Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM.
  8. Web site: Constellation/iv. GitHub. 2015-11-15.
  9. Web site: CL-JavaScript. 2018-09-14.
  10. Web site: Support me. GitHub. 18 November 2021.
  11. Web site: Using Hermes . Facebook . 9 April 2021.
  12. Web site: ECMAScript 2015 Language Specification – ECMA-262 6th Edition .
  13. Web site: An ES6 Virtual Machine Built in JavaScript . 2012-12-01 . https://web.archive.org/web/20121203041426/http://benvie.github.com/continuum/ . 2012-12-03 . dead .
  14. Web site: V4 - Qt Wiki. 2021-04-24. wiki.qt.io.
  15. Web site: ECMAScript Language Specification ECMA-262 5.1 edition . June 2011 . Ecma International . 2012-01-31 . https://web.archive.org/web/20150412040502/http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf . 2015-04-12 . dead .
  16. Web site: YAJI: Yet Another JavaScript Interpreter . Google Code . 2012-01-31.
  17. Web site: FESI. September 2003. 2012-08-06. https://web.archive.org/web/20120906033028/http://www.lugrin.ch/fesi/. 2012-09-06. dead.
  18. Web site: Microvium is very small . 11 June 2022 . 23 August 2022.
  19. Web site: Duktape . 2013-09-21.
  20. Web site: moddable/documentation/xs/XS Conformance.md at public . GitHub.
  21. Web site: Apps for IoT. dead . https://web.archive.org/web/20181228063939/http://www.moddable.com/faq.php . 2018-12-28 .
  22. Web site: Xs7 @ Tc-39 .
  23. Web site: Jsish . 2014-04-30.
  24. Web site: MuJS . 2014-09-22.
  25. Web site: NGINX JavaScript in Your Web Server Configuration . https://ghostarchive.org/varchive/youtube/20211213/Jc_L6UffFOs . 2021-12-13 . live. . 2018-10-30.
  26. Web site: Let's build a JavaScript Engine . 2022-03-23 . 2019.jsconf.eu . en.
  27. Web site: GitHub - boa-dev/boa: Boa is an embeddable and experimental Javascript engine written in Rust. . 2022-04-08 . github.com . en.
  28. Web site: Clark . Mitchell . 2022-08-18 . The James Webb Space Telescope runs JavaScript, apparently . 2022-09-02 . The Verge . en.
  29. Web site: LibJS JavaScript engine . 2023-06-30 . libjs.dev.
  30. Web site: LibJS: Rip out the AST interpreter :^) · LadybirdBrowser/ladybird@2eaa528 . 2024-07-10 . GitHub . en.