微软开源新一代浏览器的JavaScript引擎核心代码

近日,微软宣布开源Chakra的核心组件。Chakra是微软新一代浏览器 Microsoft Edge的JavaScript引擎。相关代码将于2016年1月上传到微软的GitHub账号,项目名称为 ChakraCore,遵循MIT许可协议。 ...,HTML5中国,中国最大的HTML5中文门户。

  近日,微软宣布开源Chakra的核心组件。Chakra是微软新一代浏览器Microsoft Edge的JavaScript引擎。相关代码将于2016年1月上传到微软的GitHub账号,项目名称为ChakraCore,遵循MIT许可协议。推荐阅读:微软将开源Edge浏览器中Chakra的源代码

 

  Chakra是微软2008年新创建的一个JavaScript引擎,其基本构建原则是要具备现代Web应用所需要的性能特性,并能非常容易地应用于各种不断出现的场景。也就是说,Chakra需要能够快速启动和运行,提供卓越的用户体验,并充分发挥底层硬件的潜能。下面是Chakra的基本架构:

 

 

  为了实现上述目标,Chakra采用一种独特的多层管道架构,包含一个解释器、一个多层架构的后台JIT编译器和一个可以并发和局部**的标记-清除垃圾收集器。

 

  自Chakra创建以来,JavaScript已经从一种主要用于Web浏览器的语言,成长为一种支持商店应用、服务器端应用、云服务、NoSQL 数据库、游戏引擎、前端工具和IoT的语言。期间,微软一直在不断改进和优化Chakra,使它不仅可以很好地适应这些场景,而且还能在所有这些场景中提供卓越的体验。这意味着,除了吞吐能力外,Chakra还必须具备本地互操作性、良好的扩展性和在有限资源环境中执行代码时限制资源占用的能力。Chakra的解释器在可移植性方面发挥了重要作用。

 

  现在,在Microsoft Edge浏览器之外,Chakra还应用于通用Windows应用、Azure DocumentDB、Cortana、Outlook.com及 TypeScript(做过专门优化)。微软还使Node.js可以使用Windows 10上的Chakra,从而使开发人员可以在新IoT平台Windows 10 IoT Core上使用Node.js。

 

  随着Windows 10的发布,Chakra不仅在Microsoft Edge中提供了更好的JavaScript性能,而且在其他浏览器提供商所拥有的基准测试中,性能也有大幅提升,如下图所示:

 

 

  此外,Chakra还支持大部分ECMAScript 2015(即ES6)特性,并支持部分ECMAScript提案特性,如Async Functions和SIMD。它还支持asm.js,其团队在WebAssembly及其相关基础设施的发展中发挥了重要作用。

 

  ChakraCore是一个全功能、自包含的JavaScript虚拟机,可以嵌入衍生产品及用于诸如NoSQL数据库、生产力软件、游戏引擎这类需要脚本语言的应用程序。如下图所示,与Chakra相比,ChakraCore主要有两点不同:一是未将私有绑定暴露给浏览器和通用 Windows平台;二是用一组新的现代化诊断API 取代了基于COM的诊断API。

 

 

  虽然将在1月份发布的ChakraCore版本仅限于Windows,但微软承诺会将其带到其他平台。感兴趣的读者可以继续关注,在1月份正式发布的时候,微软会提供更多细节。

 

   来自: InfoQ

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

这篇文章报道的不是“新闻”,因为W3C早已开始着手CSS变量方面的工作。至于Google,则要追溯到11月初,当时该公司主要开发人员之一的Addy Osmani宣布了率先在Chrome Canary中引入对CSS变量的支持。 ...,HTML5中国,中国最大的HTML5中文门户。
25年后,你发的编程知识经验还会增加,但薪水却不加了;25年后,如果你还热爱编程便不会选择转行去当管理人员;25年后,你想和好友去玩耍,而经理却让你加班;那么你是否想过这25年之间做出另一种选择呢? ...,HTML5中国,中国最大的HTML5中文门户。
在经历很长一段时间之后,Adobe终于开始支持用户放弃Flash格式,开始鼓励用户在创作动画时使用HTML5格式,Adobe让“Flash”这一名称在一些公司的流行软件中退休,表明该公司已清楚网络正在发生变化,或许会变得更好 ...,HTML5中国,中国最大的HTML5中文门户
在HTML5中 标签加入了一个新的属性ping。设计者加入它的理由是, Ping可以使浏览器对外发送一个异步请求,通常用来广告的追踪、点击率统计或完成一次HTTP重定向。但是听到监视、追踪这个词,你是不是也觉得有点不舒 ...,HTML5中国,中国最大的HTML5中文门户
2015年12月TIOBE编程语言排行榜,java居高不下,有望成为今年的年度语言,C一直处于下滑趋势,Objective-C暴跌8%,另一个有趣的举动是Python迅速崛起,一下子上升了4名。 ...,HTML5中国,中国最大的HTML5中文门户。
12月6日消息,微软官方博客宣布,将下月在代码托管网站GitHub上分享Chakra源代码。Chakra是Edge浏览器的JavaScript引擎。此外,微软将接受外部开发者贡献的代码。不过微软此举并不意味着将开源整个Edge浏览器。 ...,HTML5中国,中国最大的HTML5中文门户。