微軟上周五宣布,將在下個月藉由GitHub釋出ChakraCore開放源碼,內含Chakra的各種核心元件,包括支撐Microsoft Edge瀏覽器之JavaScript引擎的所有核心元件。
Chakra是微軟在2008年所開發的JavaScript引擎,最早用於IE 9上,主要的特性在於它是在一個與瀏覽器平行的獨立處理器核心上即時編譯腳本,後來也被應用在微軟最新的Edge瀏覽器與其他服務上。
微軟首席專案經理Gaurav Seth表示,他們希望ChakraCore可被廣泛應用在各種服務上,從雲端服務、物聯網到其他。
Seth說,自Chakra開始,JavaScript從一個主要用來支援瀏覽器的語言變成一項可支撐各種應用的技術,像是市集中的程式、伺服器端應用、雲端服務、NoSQL資料庫、遊戲引擎、前端工具與物聯網等,意謂著Chakra還得支援原生互動、也要有可於有限資源的環境中調節資源以執行程式碼的彈性與能力,而Chakra的直譯器則在這此一跨平台架構的技術可攜上扮演了關鍵角色。
除了Edge瀏覽器以外,Chakra在微軟內部還被應用在基於Xbox、手機與PC的Windows通用程式,Azure雲端的DocumentDB,Cortana數位語音助理與Outlook.com。此外,微軟也讓Chakra相容於開放源碼的跨平台運作環境Node.js ,一方面擴大Node.js的生態環境,另一方面也將Node.js帶至微軟物聯網平台Windows 10 IoT Core。
微軟亦強調Chakra的執行速度,在Octane與JetStream兩項JavaScript的標竿測試上,Edge的效能皆超越了IE、Chrome與Firefox。
而即將釋出的ChakraCore與應用在Edge瀏覽器上的Chakra能力大致相同,最大的兩個不同點在於前者並未捆綁瀏覽器或微軟的通用程式平台,而且相較於Chakra所使用的基於COM的診斷APIs,ChakraCore支援各種現代的診斷APIs。
Seth指出,ChakraCore已是一個成熟且獨立的JavaScript虛擬機器,它擁有解析、直譯、編譯與執行JavaScript的能力,完全不用仰賴Edge,可被嵌入各式需要腳本能力的產品或應用中,諸如NoSQL資料庫、生產力軟體或遊戲引擎,也能透過Node.js或雲端平台來延伸JavaScript,在成為開放源碼專案後,可望藉由社群的貢獻不斷改善ChakraCore並擴大它的應用。