写点什么

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

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

关注

评论

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

Exposure2023绿色版本人像滤镜插件下载

茶色酒

Exposure2023

安卓手机的网络权限,全网最全解答

神锁离线版

android 互联网 安卓 网络权限 安卓权限

ChatGPT“爆红”启示:工业AI如何掀起新型“工业革命”?

Openlab_cosmoplat

人工智能 开源 工业 智能制造 ChatGPT

软件测试 | HTTPS 的通信加解密过程,证书为什么更安全?

测吧(北京)科技有限公司

测试

软件测试 | 简历中应该如何描述才能体现出软技能的实力?

测吧(北京)科技有限公司

测试

软件测试 | 普罗米修斯 - HTTP API调用PromQL

测吧(北京)科技有限公司

测试

ONES 获得 SOC2 Type1 鉴证报告,数据安全能力受权威认可

万事ONES

API+DevOps:华为云API Arts一体化平台,端到端呵护您的API

科技怪授

API 华为云

OpenMLDB SQL 与标准 SQL 的主要差异

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

mysongbook2023吉他谱永久免费版

茶色酒

mysongbook2023

PCB板漏孔、漏槽怎么办?看工程师避坑“SOP”

华秋PCB

PCB 电路板 PCB设计 钻孔

软件测试 | 普罗米修斯 - 自定义exporter

测吧(北京)科技有限公司

测试

解决方案| anyRTC 融合其他厂商视频会议系统方案

anyRTC开发者

音视频 私有云 视频会议 视频通话 H.323

OpenMLDB 社区月报 | 2023 年 2 月

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

一文读懂Vue开发小程序的技术原理

没有用户名丶

江苏鸿程大数据:基于鲲鹏DevKit开发数据报告生成平台,数据库查询效率提升30%

极客天地

AntDB数据库首个社区版正式发布,携手生态更多可能

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库 企业号 3 月 PK 榜

Camtasia 2023体验版有哪些新功能

茶色酒

Camtasia Studio2023

存量设备 0 改造,平滑迁移阿里云 IoT 物联网平台最佳实践——实践类

阿里云AIoT

阿里云 物联网 IoT

小程序与微服务架构如何进行结合

Onegun

小程序 微服务架构 移动开发

十五年,始吾心

博睿数据

可观测性 智能运维 博睿数据 15周年 品牌历史

足不出户,搞定IoT设备故障诊断和恢复——实践类

阿里云AIoT

阿里云 物联网 IoT

FlagOpen大模型技术开源体系,开启大模型时代“新Linux”生态

硬科技星球

软件测试 | 跨平台设备管理方案Selenium Grid

测吧(北京)科技有限公司

测试

Airserver2023免费手机投屏电脑工具

茶色酒

AirServer2023

前端刷完这12道滑动窗口,就可以出山面试了

js2030code

JavaScript LeetCode

猫咪在逐步壮大--PUSS通证深度解析

股市老人

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