跳转到内容

ECMAScript引擎列表

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由Mhss留言 | 贡献2019年5月23日 (四) 03:04 JIT编译器引擎编辑。这可能和当前版本存在着巨大的差异。

ECMAScript引擎是执行用某个版本的ECMAScript语言标准比如JavaScript写的源代码的程序。

JIT编译器引擎

下列是用于网页浏览器的新一代ECMAScript引擎,它们都实现了即时编译(JIT)或这个想法的变体。即时编译的性能利益使其更加适合于用JavaScript写的网页应用:

解释器引擎

下列引擎使用运行时解释器,它们不编译成本地机器代码故而一般而言运行得更慢:

  • Rhino:来自Mozilla的JavaScript引擎之一,使用Java平台
  • Jsish[12]:一个JavaScript解释器,内建了SQLiteJSONWebSocketZIP虚拟文件系统支持。
  • Duktape:一个小体量易于嵌入的Ecmascript E5/E5.1引擎。
  • MuJS:一个轻量级的ECMAScript解释器库,设计用于嵌入其他软件中来为其扩展上脚本功能。最初为MuPDF开发[13]
  • njs:为网页服务器脚本和最快的VM上下文创建而优化的轻量级的JavaScript解释器[14],用于nginx
  • Moddable SDK:是为微控制器建造应用的开发工具和运行时软件的组合,Kinoma平台的后继者,目前是活跃计划并致力于支持更新近版本的ECMAScript。
  • Espruino[15]:特别用于微控制器的一个非常小体量的解释器,通过执行源代码(而非字节码),可以运行在小于8kB的RAM之下。
  • mjs:设计用于资源有限的微控制器的JavaScript引擎,它实现了ECMAScript 6的一个严格子集。
  • JerryScript三星为小于64KB RAM的微控制器提供的一个轻量级的JavaScript引擎。
  • V7:嵌入式JavaScript引擎,实现了ECMAScript 5.1,声称是用C写的最小的JavaScript引擎,现已经让位给mjs
  • Tiny-JS:用C++写成的极小化的JavaScript解释器。
  • JS-Interpreter,用JavaScript实现的轻量级的JavaScript解释器,带有step-by-step执行。
  • GNU GuileGNU Scheme实现,自版本1.9起提供ECMAScript 3.1解释器[16]

不活跃项目

  • KJS:用于Konqueror的引擎,是KHTML的一个构件,是JavaScriptCore的前身。
  • QtScript:由Trolltech最初开发,现在属于Qt公司,它提供QObject与JavaScriptCore的集成。
  • JScript:用在Internet Explorer版本直到IE9(64-bit)的引擎,是Trident排版引擎的一个构件。
  • FutharkOpera网页浏览器版本9.50到10.10的ECMAScript引擎。
  • Linear B:专门用在Opera网页浏览器版本7.0到9.50的ECMAScript引擎。
  • InScript:用在iCab2和3的一个废弃了的专有库。
  • Kinomajs[17]:一个ECMAScript 6运行时环境和框架[18]。这是正确实现几乎所有ECMAScript 6标准的首批运行时之一,目前无维护。
  • YAJI[19]:基于Jean-Marc Lugin开始于1999年的FESI实现的一个ECMAScript引擎[20],使用Java平台,开发至支持ECMAScript 5.1[21]
  • Continuum[22]:支持ECMAScript 6规定的旧草案的自解释器[23]。很特别的,这个引擎是用ECMAScript 3实现的,这使得有可能在像IE6这样老的浏览器中运行ES6。
  • Narcissus[24]:用JavaScript实现的JavaScript(自循环解释器),意图在另一个JavaScript引擎中运行,唯有理论和教育意义。

参见

引用

  1. ^ http://trac.webkit.org/wiki/JavaScriptCore
  2. ^ Hachamovitch, Dean, HTML5, Hardware Accelerated: First IE9 Platform Preview Available for Developers, 2010-03-16 
  3. ^ Microsoft Edge’s JavaScript engine to go open-source. Microsoft. [December 8, 2015]. 
  4. ^ Microsoft open sources Edge web browser's JavaScript engine, plans port to Linux on zdnet.com by Steven J. Vaughan-Nichols (on January 13, 2016)
  5. ^ 存档副本. [2019-05-17]. (原始内容存档于2009-05-31). 
  6. ^ https://web.archive.org/web/20060303160759/http://my.opera.com/desktopteam/blog/
  7. ^ http://my.opera.com/ODIN/blog/300-million-users-and-move-to-webkit
  8. ^ http://my.opera.com/ODIN/blog/opera-14-for-android-is-out
  9. ^ http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html
  10. ^ Constellation/iv. [2015-11-15]. 
  11. ^ CL-JavaScript. [2018-09-14]. 
  12. ^ JavaScript Interpreter SHell.
  13. ^ MuJS. [2014-09-22]. 
  14. ^ NGINX JavaScript in Your Web Server Configuration. [2018-10-30]. 
  15. ^ Espruino.
  16. ^ The goal was to support ECMAScript version 3.1.
  17. ^ Kinomajs.
  18. ^ http://www.ecma-international.org/ecma-262/6.0/
  19. ^ YAJI: Yet Another JavaScript Interpreter. 
  20. ^ FESI. September 2003 [2019-05-17]. (原始内容存档于2012-09-06). 
  21. ^ ECMAScript Language Specification ECMA-262 5.1 edition (PDF). Ecma International. June 2011 [2012-01-31]. (原始内容 (PDF)存档于2015-04-12). 
  22. ^ Continuum - A JavaScript Virtual Machine Built in JavaScript. [2019-05-17]. 
  23. ^ http://www.ecma-international.org/ecma-262/6.0/
  24. ^ The Narcissus source code repository.