ECMAScript引擎列表

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

ECMAScript引擎是執行用某個版本的ECMAScript語言標準比如JavaScript寫的原始碼的程式。

JIT編譯器引擎

下列是用於網頁瀏覽器的新一代ECMAScript引擎,它們都實作了即時編譯(JIT)或這個想法的變體。即時編譯的效能利益使其更加適合於用JavaScript寫的網頁應用:

直譯器引擎

下列引擎使用執行時直譯器,它們不編譯成本地機械碼故而一般而言執行得更慢:

  • Rhino:來自Mozilla的JavaScript引擎之一,使用Java平台
  • Jsish英語Jsish[12]:一個JavaScript直譯器,內建了SQLiteJSONWebSocketZIP虛擬檔案系統支援。
  • Duktape[13]:一個小體量易於嵌入的Ecmascript E5/E5.1引擎。
  • MuJS[14]:一個輕量級的ECMAScript直譯器庫,設計用於嵌入其他軟件中來為其擴充上指令碼功能。最初為MuPDF開發[15]
  • njs[16]:為網頁伺服器指令碼和最快的VM上下文建立而最佳化的輕量級的JavaScript直譯器[17],用於nginx
  • Moddable SDK[18]:是為微控制器建造應用的開發工具和執行時軟件的組合,Kinoma平台的後繼者,目前是活躍計劃並致力於支援更新近版本的ECMAScript。
  • Espruino英語Espruino[19]:特別用於微控制器的一個非常小體量的直譯器,通過執行原始碼(而非位元組碼),可以執行在小於8kB的RAM之下。
  • mjs[20]:設計用於資源有限的微控制器的JavaScript引擎,它實作了ECMAScript 6的一個嚴格子集。
  • JerryScript[21]三星為小於64KB RAM的微控制器提供的一個輕量級的JavaScript引擎。
  • V7[22]:嵌入式JavaScript引擎,實作了ECMAScript 5.1,聲稱是用C寫的最小的JavaScript引擎,現已經讓位給mjs[20]
  • Tiny-JS[23]:用C++寫成的極小化的JavaScript直譯器。
  • JS-Interpreter[24],用JavaScript實作的輕量級的JavaScript直譯器,帶有step-by-step執行。
  • GNU GuileGNU Scheme實作,自版本1.9起提供ECMAScript 3.1直譯器[25]

不活躍專案

  • 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[26]:一個ECMAScript 6執行時環境和框架[27]。這是正確實作幾乎所有ECMAScript 6標準的首批執行時之一,目前無維護。
  • YAJI[28]:基於Jean-Marc Lugin開始於1999年的FESI實作的一個ECMAScript引擎[29],使用Java平台,開發至支援ECMAScript 5.1[30]
  • Continuum[31]:支援ECMAScript 6規定的舊草案的自直譯器[27]。很特別的,這個引擎是用ECMAScript 3實作的,這使得有可能在像IE6這樣老的瀏覽器中執行ES6。
  • Narcissus[32]:用JavaScript實作的JavaScript(自迴圈直譯器),意圖在另一個JavaScript引擎中執行,唯有理論和教育意義。

參見

參照

  1. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-05-16). 
  2. ^ Hachamovitch, Dean, HTML5, Hardware Accelerated: First IE9 Platform Preview Available for Developers, 2010-03-16 [2019-05-23], (原始內容存檔於2011-08-05) 
  3. ^ Microsoft Edge’s JavaScript engine to go open-source. Microsoft. [December 8, 2015]. (原始內容存檔於2015-12-07). 
  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. ^ 存档副本. [2006-03-03]. (原始內容存檔於2006-03-03). 
  7. ^ 存档副本. [2019-05-17]. (原始內容存檔於2013-02-14). 
  8. ^ 存档副本. [2019-05-17]. (原始內容存檔於2014-03-01). 
  9. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-07-25). 
  10. ^ Constellation/iv. [2015-11-15]. (原始內容存檔於2016-02-08). 
  11. ^ CL-JavaScript. [2018-09-14]. (原始內容存檔於2018-09-15). 
  12. ^ JavaScript Interpreter SHell頁面存檔備份,存於互聯網檔案館).
  13. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-04-17). 
  14. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-04-17). 
  15. ^ MuJS. [2014-09-22]. (原始內容存檔於2014-09-26). 
  16. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-05-19). 
  17. ^ NGINX JavaScript in Your Web Server Configuration. [2018-10-30]. (原始內容存檔於2019-03-04). 
  18. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-10-16). 
  19. ^ Espruino頁面存檔備份,存於互聯網檔案館).
  20. ^ 20.0 20.1 存档副本. [2019-05-17]. (原始內容存檔於2019-04-17). 
  21. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-05-16). 
  22. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-04-17). 
  23. ^ 存档副本. [2019-05-17]. (原始內容存檔於2018-06-11). 
  24. ^ 存档副本. [2019-05-17]. (原始內容存檔於2019-02-22). 
  25. ^ The goal was to support ECMAScript version 3.1頁面存檔備份,存於互聯網檔案館).
  26. ^ Kinomajs頁面存檔備份,存於互聯網檔案館).
  27. ^ 27.0 27.1 存档副本. [2019-05-17]. (原始內容存檔於2019-05-05). 
  28. ^ YAJI: Yet Another JavaScript Interpreter. [2019-05-18]. (原始內容存檔於2018-06-11). 
  29. ^ FESI. September 2003 [2019-05-17]. (原始內容存檔於2012-09-06). 
  30. ^ ECMAScript Language Specification ECMA-262 5.1 edition (PDF). Ecma International. June 2011 [2012-01-31]. (原始內容 (PDF)存檔於2015-04-12). 
  31. ^ Continuum - A JavaScript Virtual Machine Built in JavaScript. [2019-05-17]. (原始內容存檔於2018-06-11). 
  32. ^ The Narcissus source code repository頁面存檔備份,存於互聯網檔案館).