微軟向其它JavaScript引擎開放Node.js
隨著 ChakraCore JavaScript引擎計(jì)劃 的發(fā)展,微軟正在開發(fā)一套可以兼容各種不同虛擬機(jī)的Node.js服務(wù)器端平臺(tái)標(biāo)準(zhǔn)接口?,F(xiàn)在,在Linux和MacOS平臺(tái),ChakraCore已經(jīng)作為Node.js V8引擎的一個(gè)替代品了。
上周,微軟發(fā)布了一個(gè) Linux版Node-ChakraCore預(yù)覽 ——可以將ChakraCore和流行的服務(wù)端Node.js連接在一起。微軟還在開發(fā)一個(gè)實(shí)驗(yàn)性的新特性,在Linux x64和MacOS上運(yùn)行ChakraCore。ChakraCore是僅支持Windows的Chakra JavaScript引擎的開源核心,這個(gè)引擎驅(qū)動(dòng)了微軟的 Edge瀏覽器 和 所有Windows平臺(tái) 。
微軟想要打破目前束縛Node.js的枷鎖——Google的V8 JavaScript引擎。微軟想要通過“打造一套標(biāo)準(zhǔn)的Node接口,使Node變得無關(guān)虛擬機(jī)。”Arunesh Chandra,微軟ChakraCore的高級(jí)程序經(jīng)理在上周的San Francisco Node總結(jié)大會(huì)上說道,他還指出,“V8引擎給Node帶來的變動(dòng)很大,經(jīng)常打破生態(tài)平衡”,微軟試圖聯(lián)合其它公司,例如IBM,來實(shí)現(xiàn)這項(xiàng)愿望。
也有一些將Node向其它虛擬機(jī)開放的努力,例如 SpiderNode ,微軟想將他們吸收進(jìn)來,進(jìn)行標(biāo)準(zhǔn)化。
ChakraShim是一個(gè)驅(qū)動(dòng)ChakraCore的V8 API。它實(shí)現(xiàn)了必要的 V8 APIs,通過基礎(chǔ)的JavaScript引擎來支持Node.js。這個(gè)項(xiàng)目還在開發(fā)中,不是官方對(duì)Node.js的支持。
微軟宣布,ChakraCore將支持Linux和MacOS X,開發(fā)者可以使用這個(gè)引擎開發(fā)跨平臺(tái)的應(yīng)用。對(duì)于Linux,開發(fā)和測(cè)試最常用的平臺(tái)是Ubuntu 16.04 LTS,但也會(huì)支持其它的發(fā)行版。
然而,這個(gè)引擎現(xiàn)在對(duì)非Windows平臺(tái)的支持還很有限。Chandra說,“現(xiàn)在還只是實(shí)驗(yàn)性的build,還沒有JIT技術(shù)和高性能的垃圾回收線程。”