写点什么

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

  • 2016-01-15
  • 本文字数:1114 字

    阅读完需:约 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 读者交流群(#2))。

2016-01-15 18:003223
用户头像

发布了 1008 篇内容, 共 401.7 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

腾讯面试Java高频210题解析:Spirng+设计模式+Redis+MySQL

Java 程序员 后端

蚂蚁金服5面,总结了49个面试题,遇到的面试官都是P7级别以上

Java 程序员 后端

计算机存储系统之磁盘阵列技术(1)

Java 程序员 后端

膜拜!阿里内部都在强力进阶学习springboot实战派文档

Java 程序员 后端

自己把985道Java面试题整理细分26部分,五面成功面上滴滴

Java 程序员 后端

蚂蚁金服+拼多多+抖音+天猫(技术三面

Java 程序员 后端

记一次蚂蚁金服Java研发岗的面试经历,分享下我的复习笔记面经

Java 程序员 后端

记自己在用友的三个月实习经历(1)

Java 程序员 后端

腾讯程序员熬夜码字:网络 IO 演变发展过程和模型介绍,仅此一篇

Java 程序员 后端

解开疑惑之:全面解析腾讯会议的视频前处理算法

Java 程序员 后端

解析Markdown文件生成React组件文档

Java 程序员 后端

解读 Java 并发队列 BlockingQueue

Java 程序员 后端

论好文章和烂文章

Java 程序员 后端

胶囊网络CapsNet,自动驾驶汽车的未来 易筋 ARTS 打卡 Week 75

John(易筋)

ARTS 打卡计划 arts

认识大管家Jenkins(二)部署SpringBoot项目

Java 程序员 后端

设计模式(七):桥接模式

Java 程序员 后端

架构实战营模块4课后作业

胡颖

架构实战营

菜鸟程序员的超神之路——从校园到职场

Java 程序员 后端

flutter版本控制第二节

坚果

flutter 版本控制 11月日更

解放双手!IDEA常用代码一键补全,你学会了吗?

Java 程序员 后端

记一道简单的Java面试题,但答错率很高!

Java 程序员 后端

落马阿里之后 开始我的恶补过程:技术笔记+面试知道+视频教程

Java 程序员 后端

讲一些你所不知道的Java动态代理

Java 程序员 后端

论如何快速吃透算法?186道高阶算法题+学习资料程序员面试必备

Java 程序员 后端

记自己在用友的三个月实习经历

Java 程序员 后端

腾讯社招(Java岗)四面已拿offer,问的很全面,几大块全涉及

Java 程序员 后端

腾讯,阿里,小米等Java开发岗面试真题,kafka+Redis

Java 程序员 后端

菜鸟弱弱地问:找个薪资待遇差的工作能成长吗?

Java 程序员 后端

血拼一波算法:百度+Alibaba+字节+Tencent

Java 程序员 后端

见了鬼,我JVM的Survivor区怎么只有20M了?

Java 程序员 后端

记一次RabbitMQ连接阻塞,全部队列不消费异常

Java 程序员 后端

微软开源Chakra,并计划在上面运行Node.js_开源_Abel Avram_InfoQ精选文章