写点什么

微软开源 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:003399
用户头像

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

关注

评论

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

互联网新规鼓励保险与大数据、区块链等新技术融合!业内呼吁配套产品管理制度尽快出炉

CECBC

互联网金融

网络入门模拟器:Cisco Packet Tracer 实验教程

LeetCode题解:429. N叉树的层序遍历,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

BATJ面试常被问到的100+题:Spring+微服务+SpringMVC+MyBatis

Java架构之路

Java 程序员 架构 面试 编程语言

基于LiteOS Studio零成本学习LiteOS物联网操作系统

华为云开发者联盟

操作系统 物联网 华为云

即构SDK12月迭代:新增多项质量回调,互动白板、云录制SDK同步更新

ZEGO即构

手把手教你免费获取正版 Jetbrains 全家桶 License

郭旭东

ide JetBrains

探营苏州数字人民币试点

CECBC

数字人民币

《构建高性能WEB站点》.pdf

田维常

架构

快来!开源一份阿里微服务指导手册:springBoot+springCloud+MQ

小Q

学习 面试 微服务 MQ SpringCloud

赶紧看!阿里架构师必备“绝杀版”Tomact架构笔记堪称绝技

比伯

Java tomcat 编程 架构 程序人生

阿里三面惨遭被虐,spring,jvm,mybatis,并发编程等一窍不通

Java架构之路

Java 程序员 架构 面试 编程语言

我叫你不要重试,你非得重试。这下玩坏了吧?

比伯

Java 编程 架构 面试 程序人生

海淀区政府携手百度,打造数字政务时代新门户

DT极客

XMEX交易所系统软件开发|XMEX交易所APP开发

系统开发

社区团购大战升级:零售行业再次面临挑战

石头IT视角

终于有人通过笔记+脑图+视频的模式把Spring源码讲明白了

Java架构追梦

Java 学习 架构 面试 spring源码

盘点 2020 | 坚持写技术博客一年能有多少收获!

小傅哥

Java 小傅哥 技术人 盘点2020

SpringBoot魔法堂:应用热部署实践与原理浅析

设计原则 框架 spring Boot Starter

第三代人工智能基础设施背后,是一次技术应用的常识普及运动

脑极体

工作日志:一文总结HBase从搭建到实操,大家一起进步

小Q

大数据 学习 编程 面试 HBase

你只修改了2行代码,为什么需要两天时间?

Java架构师迁哥

聚焦LS-MIMO的四大层面,浅谈5G关键技术

华为云开发者联盟

华为 5G 华为云

没弄懂这些Java基础,简历上千万别写熟悉:异常+反射+注解+泛型

小Q

Java 学习 编程 面试 基础

Athena雅典娜交易所系统开发|Athena雅典娜交易所软件APP开发

系统开发

一个改变世界的“箱子”

阿里巴巴云原生

Docker 阿里云 容器 云原生 k8s

破51项国际榜单纪录!解读华为云擎天架构调度求解引擎

华为云开发者联盟

华为 架构 华为云

BAT等大厂面试复习资料文档整理:ActiveMQ+redis+Spring+高并发多线程+JVM

Java架构之路

Java 程序员 架构 面试 编程语言

终于学完了阿里云大数据架构师推荐的Flink入门与实战PDF

小Q

大数据 flink 学习 编程 面试

如何在软件发布计划中自动化语义化版本与变更日志

华为云开发者联盟

自动化 工具 发布

有了Git这个功能,再也不需要依赖IDE了!

编程 架构

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