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

微软兑现了开放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上。

本文转自d1net(转载)

时间: 2024-09-03 17:57:05

微软开源Chakra,并计划在上面运行Node.js的相关文章

运行Node.js的IIS扩展iisnode安装配置笔记

 这篇文章主要介绍了运行Node.js的IIS扩展iisnode安装配置笔记,iisnode的扩展可以把Node.js程序托管到IIS,托管之后也意味着可以使用IIS里面的各种功能,需要的朋友可以参考下     今年年初打算用Node.js基于Express框架重写博客程序,从此告别ASP.NET.然而,我目前用的VPS是Windows Server系统.IIS服务器,如果让Express和IIS都监听80端口,明显会产生冲突.幸好,有一个叫做iisnode的扩展可以把Node.js程序托管到I

Gravit —— 开源基于 Node.js 的在线设计工具

Gravit 是一个开源的在线设计工具.基于 Node.js 开发.在线演示:http://hub.gravit.io/browser/ 文章转载自 开源中国社区 [http://www.oschina.net]

Facebook、微信团队、Twitter、微软开源软件列表一览

  编者按:本文来自微信公众号"InfoQ"(ID:infoqchina),编辑小智:36氪经授权发布. 对于为什么要发布开源项目,Facebook开源项目负责人曾经解释过:一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼Facebook的工程师写出更好的代码.三是开源能够更有效利用社区的力量,帮助Facebook一起解决难题.开源,让世界更美好,不是吗? Facebook开源软件列表 从Facebook的GitHub账户中可以看到,Face

微软爱开源?| 启路CTO朱永光为你讲解微软开源的那些事

编者按:随着微软的股价节节攀升,同时在最近的硬件大战中力克老对手苹果,大家熟知的那个微软又回到了大家的视野,本文给很多不熟悉微软开源技术的朋友普及一下微软最近几年在开源方面所做的努力和成效,毕竟很多人对微软的技术还停留在10年前的认知上,自从微软新CEO上任后,进行了一系列的大刀阔斧的改革,其中拥抱Linux是浓墨重彩的一笔.本文选自于启路CTO朱永光大神在中生代十月十城成都的分享,朱老师在讲解干货的同时,也不忘现场写代码演示如何搭建简单的Hello World,欢迎大家观看视频! 过去几年中微

GitHub贡献第一的公司是谁?微软开源软件列表

提起微软公司,不少人第一反应是老牌巨头专注于私有化软件盈利模式,这大抵是源于微软前CEO Steve Ballmer曾经宣称"Linux是颗毒瘤(Linux is a cancer)",并曾经偏执地认为所有开源软件都不值一提.但是,这是2001年的事情了,是时候更新大家对微软的刻板印象. 这里,不提继任者Satya Nadella的微软拥抱开源进行新式转型的决策,也不提微软去年加入Linux基金会等开源组织的举动.单单而言,只问一个问题:哪家公司在GitHub上贡献最多?不是Faceb

微软开源 JS 引擎 ChakraCore 支持 Linux 和 OSX

微软已经认识到 Linux 是一个值得支持的平台,它正将旗下的应用和软件移植到 Linux.在上周的 Node 峰会上,微软宣布它的开源 JavaScript 引擎 ChakraCore 支持 Linux 和 OS X.ChakraCore 是微软 Edge 浏览器和 Universal Windows Platform 所使用JS引擎 Chakra 的开源版本,是一个独立的JS虚拟机,可嵌入到衍生产品中.微软称,非Windows 平台版本支持的JavaScript特性集与Windows版本相同

Windows Server 2008 R2 可能会碰到任务计划无法自动运行的解决

最近遇见一个奇怪的现象,在做某系统的定期备份的时候使用到了非系统自带Rsync命令,但是手动启动没问题,而且又非常期望批量化在多台主机上进行,怎么办呢?Windows Server 2003下面这样执行任务计划没问题,而就Windows Server 2008 R2下面出现意外. 正常情况下我们的任务计划会有反馈数值,通过它可以判断这个任务计划上次是否运行正常(详细连接:http://support.microsoft.com/kb/267031/). 代码 0 或 0x0:操作成功完成. 代码

TensorFlow 1.0 正式发布;微软开源无人机虚拟训练平台 AirSim | AI开发者头条

TensorFlow 1.0  正式发布! 在昨晚揭幕的 TensorFlow 开发者峰会上,谷歌正式发布了 TensorFlow 1.0 版本.新版本带来三大主要优化: 大幅提升的运算速度,尤其是对于多 GPU.分布式计算场景. 对高级别 API 有更好的兼容性,尤其完全兼容 Keras 改进 API 稳定性  注:本次峰会是 TensorFlow 史上第一届开发者峰会,在加州山景城举行,颇值得大家关注.详情请关注雷锋网后续报道. TensorFlow 1.0 详情:http://www.le

Windows Server 2012的计划任务如何运行网络盘符的程序

问题描述 有一个python程序在网络盘符Z:在Windows计划任务中配置就不能运行.把程序移到C盘或D盘就可以运行.实际上我已经把Z盘影射到服务器中了啊.或者直接点击在Z盘中的程序也可以运行,但就是不能在计划任务中运行.请问该怎么解决这个问题?我只有10分了,还请见谅.谢谢谢谢 解决方案