BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

微软开源Chakra,并计划在上面运行Node.js

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 谢丽 关注 10 他的粉丝 发布于 2016年1月16日. 估计阅读时间: 4 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

微软兑现了开放Edge浏览器JavaScript虚拟机的承诺,遵循宽松的MIT许可协议开放了Chakra的源代码。开源代码以ChakraCore的名称发布,基本上同微软用于Edge和通用Windows平台(UWP)的VM是同一个,只是去掉了同Edge和UWP的绑定以及部分COM诊断API。

ChakraCore是作为一个嵌入式引擎推出的,可以包含到各种桌面、服务器和IoT应用程序中,微软希望开发者发现它在这个方面的用途。该引擎使用JavaScript运行时(JSRT)API进行了封装,后者提供了到运行时及一个或多个执行上下文的访问。ChakraCore有自己的垃圾收集和异常管理。它所支持的ECMA2015语言特性都不需要任何设置,但要在ChakraCore中使用Promises,需要将Promises任务在EnqueueJob中排队。

除了常用的V8虚拟机外,微软还致力于在ChakraCore引擎上运行Node.js。通过在JSRT上创建了一个V8 shim,他们已经实现了这一目标,使Node.js应用程序可以正常运行,而不需要知道底层的JavaScript VM。该项目托管在GitHub上,名为Microsoft/node

微软计划向ChakraCore添加现代化的诊断API,而且他们正致力于Time Travel Debugger的研发。这是一款调试工具,允许开发人员在调试过程中回到上一步,这有助于调试包含回调的代码。微软已经在一个Node.js/ChakraCore应用程序(包含超过100个模块,运行在装有Windows 10 IoT的Raspberry Pi 2上)上演示了该调试器。他们计划继续发展这项技术,待它成熟后将其开放。

在不久的将来,微软计划从Linux Ubuntu 15.10 x64开始将ChakraCore移植到其他平台。他们还计划正式支持部分目前通过试验标识支持的JavaScript特性——解构赋值、默认参数、指数运算符、Async。他们将通过试验标识支持ES2015模块,并计划通过asm.js管道运行WebAssembly代码。

开发人员会使用ChakraCore吗?微软认为他们会的。微软展示了诱人的性能基准测试结果,其中,Edge在Octane 2.0和Jet Stream两项测试上击败了最新版本的Chrome和Firefox。此外,从Kangax的JavaScript兼容性表格可以看出,ChakraCore支持79%的ES6特性,相比之下,Firefox 45支持85%,而Chrome 49支持71%。不管应用结果如何,微软都计划开放CharkraCore的开发,包括将结果用到Edge和UWP上。

查看英文原文:Microsoft Open Sources Chakra and Wants to Run Node.js on It


感谢谢丽对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

名称有点意思 by 刘 博

查克拉?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT