Chakra (Microsoft Edge’s JavaScript Engine) Goes Open Source

Microsoft announced today that the core components of Chakra will be open-sourced as ChakraCore. It will include all the crucial components of the JavaScript engine powering Microsoft Edge.
 
Chakra provides top-notch JavaScript execution with dependable performance, reliability, and scalability. Microsoft is expecting to use ChakraCore where these factors are important, that includes cloud-based services to the Internet of Things and more. 
 
Gaurav Seth, Principle PM Manager, stated via a blog,
 
"We’re investing more than ever in improving Chakra, and are excited to team up with our community to drive further improvements. In addition to the public, several organizations have already expressed interest in contributing to ChakraCore—among many others, we look forward to working with Intel, AMD, and NodeSource as we develop this community".

 
Principal PM Manager, Gaurav Seth announcing ChakraCore
Image Source: blogs.windows.com
 
Here's what is Chakra and ChakraCore,
 
Chakra Overview
 
The codename Chakra was given to a new JavaScript engine in the year 2008. The primary task was to ensure that Chakra needed to start fast, run fast, and deliver a great user experience, while utilizing the full potential of the underlying hardware. As expected, the JavaScript engine accomplished these goals via a unique multi-tiered pipeline that supports an interpreter, a multi-tiered background JIT compiler, and a traditional mark and sweep garbage collector that can to do concurrent and partial collections. 
 
Today, Chakra powers the following,
  • Universal Windows applications across all form factors where Windows 10 is supported.
  • Services such Azure DocumentDB, Cortana and Outlook.com.
  • With Windows 10, Node.js was enabled by Microsoft to run with Chakra. This was done to make it possible for Node.js to be available on a new IoT platform: Windows 10 IoT Core
ChakraCore Overview 
 
It is a self-contained JavaScript virtual machine that can be embedded in derivative products. It can power applications like NoSQL databases, productivity software, and game engines. It can be used for extending the reach of JavaScript on the server with platforms such as Node.js and cloud-based services. 
 
ChakraCore shares the same set of capabilities that are supported by Chakra in Microsoft Edge, but two key differences should be taken care of,
  • Firstly, it does not expose Chakra’s private bindings to the browser or the Universal Windows Platform.
  • Secondly, ChakraCore will support a new set of modern diagnostic APIs.

Componentization of Chakra and ChakraCore 
Image Source: blogs.windows.com 
 
He also stated,
 
"Starting in January, we will open our public GitHub repository for community contributions. At that time, we will provide more detail on our initial priorities and guidance on how to contribute effectively to the project. The community is at the heart of any open source project, so we look forward to the community cloning the repository, inspecting the code, building it, and contributing everything from new functionality to tests or bug fixes. We also welcome suggestions on how to improve ChakraCore for particular scenarios that are important to you or your business".