微软近日宣布将开源其新一代浏览器Microsoft Edge的JavaScript引擎Chakra的核心组件,这一消息引发了广泛的关注,因为Chakra作为Microsoft Edge的重要组成部分,其性能和功能对开发者社区具有极大的吸引力。
Chakra简介及背景
Chakra是微软在2008年创建的JavaScript引擎,旨在为现代Web应用提供所需的性能特性,并能够轻松适应各种不断出现的场景,为了实现这些目标,Chakra采用了一种独特的多层管道架构,包括一个解释器、一个多层架构的后台JIT编译器和一个可以并发和局部回收的标记清除垃圾收集器。
自创建以来,JavaScript已经从主要用于Web浏览器的语言成长为支持商店应用、服务器端应用、云服务、NoSQL数据库、游戏引擎、前端工具和IoT等多种场景的语言,微软一直在不断改进和优化Chakra,使其不仅能够很好地适应这些场景,还能在所有这些场景中提供卓越的体验。
Chakra的基本架构
Chakra的基本架构包括以下几个关键组件:
1、解释器:负责快速启动和运行JavaScript代码,提供卓越的用户体验。
2、多层架构的后台JIT编译器:用于优化JavaScript代码的执行效率。
3、标记清除垃圾收集器:可以并发和局部回收内存,提高内存管理的效率。
ChakraCore的特点
此次开源的项目名为ChakraCore,是一个全功能、自包含的JavaScript虚拟机,可以嵌入衍生产品及用于诸如NoSQL数据库、生产力软件、游戏引擎这类需要脚本语言的应用程序,与Chakra相比,ChakraCore主要有以下两点不同:
1、未将私有绑定暴露给浏览器和通用Windows平台:这意味着ChakraCore更加专注于核心功能,减少了不必要的依赖和复杂性。
2、用一组新的现代化诊断API取代了基于COM的诊断API:这有助于开发者更方便地监控和调试JavaScript代码的执行。
Chakra的应用范围
除了在Microsoft Edge浏览器中的应用外,Chakra还广泛应用于通用Windows应用、Azure DocumentDB、Cortana、Outlook.com及TypeScript(做过专门优化)等多个领域,微软还使Node.js可以使用Windows 10上的Chakra,从而使开发人员可以在新IoT平台Windows 10 IoT Core上使用Node.js。
Chakra的性能优势
随着Windows 10的发布,Chakra在Microsoft Edge中提供了更好的JavaScript性能,并在其他浏览器提供商所拥有的基准测试中也表现出色,Chakra还支持大部分ECMAScript 2015(即ES6)特性,并支持部分ECMAScript提案特性,如Async Functions和SIMD,它还支持asm.js,其团队在WebAssembly及其相关基础设施的发展中发挥了重要作用。
FAQs
1、问题:ChakraCore目前是否只支持Windows平台?
回答:是的,将在1月份发布的ChakraCore版本仅限于Windows,但微软承诺会将其带到其他平台。
2、问题:ChakraCore与Chakra的主要区别是什么?
回答:ChakraCore与Chakra相比,主要区别在于未将私有绑定暴露给浏览器和通用Windows平台,以及用一组新的现代化诊断API取代了基于COM的诊断API。
3、问题:ChakraCore遵循哪种许可协议?
回答:ChakraCore遵循MIT许可协议。
微软开源Chakra的核心组件对于开发者社区来说是一个重大利好,ChakraCore作为一个全功能、自包含的JavaScript虚拟机,不仅具有卓越的性能和功能,还具有广泛的应用范围和良好的可移植性,随着ChakraCore在其他平台的推出,相信它会为更多的开发者带来便利和价值。
微软开源新一代浏览器的JavaScript引擎核心代码
微软近期宣布开源了其新一代浏览器的JavaScript引擎核心代码,这一举措旨在促进Web技术的创新和开源社区的共同发展。
代码名称
Chakra:微软的JavaScript引擎,用于IE和Edge浏览器。
ChakraCore:Chakra的轻量级版本,专门为现代Web浏览器设计。
开源详情
1、开源许可:ChakraCore代码遵循Apache 2.0许可协议。
2、开源平台:代码托管在GitHub上,便于开发者访问和贡献。
核心特性
高性能:ChakraCore旨在提供高性能的JavaScript执行环境。
跨平台:支持Windows、Linux和macOS等多个操作系统。
模块化:设计上采用模块化,便于维护和扩展。
开源意义
促进创新:开源代码允许开发者对引擎进行定制和改进,推动Web技术的发展。
社区协作:通过开源,微软可以与全球开发者共同协作,提升产品的质量和性能。
排版示例
++ | 微软开源新一代浏览器的JavaScript引擎核心代码 | ++ | | | 微软近期宣布开源了其新一代浏览器的JavaScript引擎核心代码。 | | 这一举措旨在促进Web技术的创新和开源社区的共同发展。 | ++ | 代码名称 | | Chakra:微软的JavaScript引擎,用于IE和Edge浏览器。 | | ChakraCore:Chakra的轻量级版本,专门为现代Web浏览器设计。 | ++ | 开源详情 | | 开源许可:ChakraCore代码遵循Apache 2.0许可协议。 | | 开源平台:代码托管在GitHub上,便于开发者访问和贡献。 | ++ | 核心特性 | | 高性能:ChakraCore旨在提供高性能的JavaScript执行环境。 | | 跨平台:支持Windows、Linux和macOS等多个操作系统。 | | 模块化:设计上采用模块化,便于维护和扩展。 | ++ | 开源意义 | | 促进创新:开源代码允许开发者对引擎进行定制和改进,推动Web技术的发展。 | | 社区协作:通过开源,微软可以与全球开发者共同协作,提升产品的质量和性能。 | ++
微软开源新一代浏览器的JavaScript引擎核心代码,是推动Web技术发展的重要一步,这一举措有望进一步促进开源社区的成长,并为用户提供更优质的Web浏览体验。