热门问题
时间线
聊天
视角
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