微信号:dev-news

介绍:软件开发社区热点跟踪

Microsoft Edge的JavaScript引擎Chakra将开源

2015-12-09 11:06 臧秀涛

Microsoft Edge是微软的新一代浏览器,在Windows 10上,已经取代IE成为默认浏览器。其JavaScript引擎Chakra的所有核心组件将以ChakraCore的形式于下个月基于MIT许可证开源,届时将放到GitHub上。


从Chakra说开去


Chakra是一流的JavaScript执行引擎,对ES6特性支持也是最丰富的。


2008年,微软从零开始,开发了这款JavaScript引擎。其基础原则是,性能能够满足现代Web和云的需求,还能轻松适应其他潜在的新兴场景,支持不同的硬件设备。简而言之,就是启动快、运行快、用户体验好,同时还能充分利用底层硬件的潜能。


从设计上看,Chakra有一个多层的流水线(pipeline),支持解释器、多层的后台JIT编译器以及传统的标记&清除算法。




因为在Chakra诞生之时,JavaScript的应用领域已经不限于Web,而是支持移动App、服务端应用、云服务、NoSQL数据库、游戏引擎、前端工具和物联网等多种场景。Chakra也针对性地做了优化。能够轻松支持不同的平台架构,Chakra的解释器起到了关键作用。

Chakra的性能也非常不错,有些关键指标已经超过Chrome和Firefox,具体可以搜索相关评测。

在对ES6的支持方面,Chakra也走在了前列。




ChakraCore是什么


ChakraCore是一款全功能、自包含的JavaScript虚拟机,能够解析、解释、编译和执行JavaScript代码;对Microsoft Edge没有任何依赖。它可以嵌入到其他产品中,提供脚本执行能力;也可以用来跑Node.js和云服务。


ChakraCore和Chakra功能相同,但是存在两点差别。如下图所示,一个是没有与浏览器和Universal Windows Platform绑定的部分,一个是没有基于COM的诊断API。不过ChakraCore将支持一组新的现代诊断API,做到平台无关,方便标准化。



开源之后,可以借助社区的力量让ChakaraCore支持更多平台。ChakaraCore的JIT、垃圾收集器应该也可以给开发者带来很多参考。

关于ChakraCore开源的价值,知乎上也有很有价值的讨论:如何看待微软 12 月 5 日宣布准备开源其 JavaScript 引擎 Chakra 的核心部分?(http://www.zhihu.com/question/38238351)感兴趣的读者可以关注。



精选研发资讯,聚焦技术热点。欢迎关注。

 
开发资讯 更多文章 微软新一代浏览器背后的JavaScript引擎ChakraCore正式开源 Facebook 2015年的开源成绩单 在创业公司使用C++ Facebook for iOS的启动时间是如何优化的 十年经验的程序员是怎么写代码的?
猜您喜欢 聊聊前端排序的那些事 互联网测试有什么不一样 Redis未授权访问配合SSH key文件利用分析:ZoomEye全球最新独家数据 V2 .NET面试题系列(1) - .NET框架基础知识 如何通过第三方工具提高电商数据转化