随着 ChakraCore JavaScript引擎计划 的发展,微软正在开发一套可以兼容各种不同虚拟机的Node.js服务器端平台标准接口。现在,在Linux和MacOS平台,ChakraCore已经作为Node.js V8引擎的一个替代品了。
上周,微软发布了一个 Linux版Node-ChakraCore预览 ——可以将ChakraCore和流行的服务端Node.js连接在一起。微软还在开发一个实验性的新特性,在Linux x64和MacOS上运行ChakraCore。ChakraCore是仅支持Windows的Chakra JavaScript引擎的开源核心,这个引擎驱动了微软的 Edge浏览器 和 所有Windows平台 。
微软想要打破目前束缚Node.js的枷锁——Google的V8 JavaScript引擎。微软想要通过“打造一套标准的Node接口,使Node变得无关虚拟机。”Arunesh Chandra,微软ChakraCore的高级程序经理在上周的San Francisco Node总结大会上说道,他还指出,“V8引擎给Node带来的变动很大,经常打破生态平衡”,微软试图联合其它公司,例如IBM,来实现这项愿望。
也有一些将Node向其它虚拟机开放的努力,例如 SpiderNode ,微软想将他们吸收进来,进行标准化。
ChakraShim是一个驱动ChakraCore的V8 API。它实现了必要的 V8 APIs,通过基础的JavaScript引擎来支持Node.js。这个项目还在开发中,不是官方对Node.js的支持。
微软宣布,ChakraCore将支持Linux和MacOS X,开发者可以使用这个引擎开发跨平台的应用。对于Linux,开发和测试最常用的平台是Ubuntu 16.04 LTS,但也会支持其它的发行版。
然而,这个引擎现在对非Windows平台的支持还很有限。Chandra说,“现在还只是实验性的build,还没有JIT技术和高性能的垃圾回收线程。”