热门问题
时间线
聊天
视角
ECMAScript引擎列表
維基媒體列表條目 来自维基百科,自由的百科全书
Remove ads
ECMAScript引擎是執行用某個版本的ECMAScript語言標準比如JavaScript寫的源代碼的程序。
JIT編譯器引擎
下列是用於網頁瀏覽器的新一代ECMAScript引擎,它們都實現了即時編譯(JIT)或這個想法的變體。即時編譯的性能利益使其更加適合於用JavaScript寫的網頁應用:
- V8:用在Google Chrome、Node.js和V8.NET的JavaScript引擎。
- SpiderMonkey:在Mozilla的Gecko應用包括Firefox中使用的JavaScript引擎。這個引擎目前包括IonMonkey編譯器和OdinMonkey優化模塊,以前曾包括TraceMonkey編譯器(第一個javascript JIT)和JägerMonkey。
- JavaScriptCore:最初從KJS派生出的JavaScript解釋器和JIT。它用在WebKit計劃和應用如Safari中。也叫作Nitro、SquirrelFish和SquirrelFish Extreme[1]。
- Chakra:用在Internet Explorer 11中的JScript引擎,它首次出現在Internet Explorer 9(32-bit)中[2]。
- ChakraCore:在Microsoft Edge中曾用過也叫做Chakra的JavaScript引擎,2015年12月,微軟將其核心構件開放源代碼並重命名為ChakraCore[3][4]。
- Carakan:Opera Software ASA開發的JavaScript引擎[5],包含在Opera網頁瀏覽器10.50發行中[6],直到Opera 15(2013年發行)切換到V8[7][8]。
- Tamarin:用在Adobe Flash中的ActionScript和ECMAScript引擎。
- Nashorn:用在Oracle Java開發工具包(JDK)自從版本8的JavaScript引擎[9]。
- iv:用C++寫的ECMAScript詞法分析器/語法解析器/解釋器/VM/方法JIT[10]。
- CL-JavaScript:在能編譯成機器語言的Common Lisp實現上可以編譯JavaScript至機器語言[11]。
Remove ads
解釋器引擎
下列引擎使用運行時解釋器,它們不編譯成本地機器代碼故而一般而言運行得更慢:
- Rhino:來自Mozilla的JavaScript引擎之一,使用Java平台。
- Jsish[12]:一個JavaScript解釋器,內建了SQLite、JSON、WebSocket和ZIP虛擬文件系統支持。
- Duktape[13]:一個小體量易於嵌入的Ecmascript E5/E5.1引擎。
- MuJS[14]:一個輕量級的ECMAScript解釋器庫,設計用於嵌入其他軟件中來為其擴展上腳本功能。最初為MuPDF開發[15]。
- njs[16]:為網頁服務器腳本和最快的VM上下文創建而優化的輕量級的JavaScript解釋器[17],用於nginx。
- Moddable SDK[18]:是為微控制器建造應用的開發工具和運行時軟件的組合,Kinoma平台的後繼者,目前是活躍計劃並致力於支持更新近版本的ECMAScript。
- 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 Guile:GNU Scheme實現,自版本1.9起提供ECMAScript 3.1解釋器[25]。
- Boa[26]:用Rust編寫的JavaScript引擎。
Remove ads
- KJS:用於Konqueror的引擎,是KHTML的一個構件,是JavaScriptCore的前身。
- QtScript:由Trolltech最初開發,現在屬於Qt公司,它提供QObject與JavaScriptCore的集成。
- JScript:用在Internet Explorer版本直到IE9(64-bit)的引擎,是Trident排版引擎的一個構件。
- Futhark: Opera網頁瀏覽器版本9.50到10.10的ECMAScript引擎。
- Linear B:專門用在Opera網頁瀏覽器版本7.0到9.50的ECMAScript引擎。
- InScript:用在iCab2和3的一個廢棄了的專有庫。
- Kinomajs[27]:一個ECMAScript 6運行時環境和框架[28]。這是正確實現幾乎所有ECMAScript 6標準的首批運行時之一,目前無維護。
- YAJI[29]:基於Jean-Marc Lugin開始於1999年的FESI實現的一個ECMAScript引擎[30],使用Java平台,開發至支持ECMAScript 5.1[31]。
- Continuum[32]:支持ECMAScript 6規定的舊草案的自解釋器[28]。很特別的,這個引擎是用ECMAScript 3實現的,這使得有可能在像IE6這樣老的瀏覽器中運行ES6。
- Narcissus[33]:用JavaScript實現的JavaScript(自循環解釋器),意圖在另一個JavaScript引擎中運行,唯有理論和教育意義。
參見
- JavaScript引擎比較
- JavaScript引擎
- 應用虛擬化軟件比較
引用
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads