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.
Chakra & ChakraCore’s multi-tiered execution pipeline
Today, outside of the Microsoft Edge browser, Chakra powers Universal Windows applications across all form factors where Windows 10 is supported—whether it’s on an Xbox, a phone, or a traditional PC. It powers services such Azure DocumentDB, Cortana and Outlook.com. It is used by (and optimized for) TypeScript. And with Windows 10, we enabled Node.js to run with Chakra, to help advance the reach of Node.js ecosystem and make Node.js available on a new IoT platform: Windows 10 IoT Core.
(System info: 64-bit browsers on Intel Core i5-34755 @ 2.90Ghz with 4.0GB RAM running Windows 10)
Additionally, Chakra supports most of the ECMAScript 2015 (aka ES6) featuresand has support for some of the future ECMAScript proposals like Async Functions and SIMD. It supports asm.js and the team is a key participant in helping evolve WebAssembly and its associated infrastructure.
Chakra has the most support for ES6 features of any shipping browser (Kangax ES6 Compatibility Table)
What’s in ChakraCore?
ChakraCore shares the same set of capabilities that are supported by Chakra in Microsoft Edge, with two key differences. First, it does not expose Chakra’s private bindings to the browser or the Universal Windows Platform, both of which constrain it to a very specific use case. Second, instead of exposing the COM based diagnostic APIs that are currently available in Chakra, ChakraCore will support a new set of modern diagnostic APIs, which will be platform agnostic and could be standardized or made interoperable across different implementations in the long run. As we make progress on these new diagnostics APIs, we plan to make them available in Chakra as well.
Componentization of Chakra and ChakraCore
What’s next for ChakraCore?
ChakraCore is already designed to fit into any application stack that calls for a fast, scalable, and lightweight engine. We intend to make it even more versatile over time, both within and beyond the Windows ecosystem. While the initial January release will be Windows-only, we are committed to bringing ChakraCore to other platforms in the future. We’d invite developers to help us in this pursuit by letting us know which other platforms they’d like to see ChakraCore supported on to help us prioritize future investments, or even by helping port it to the platform of their choice.
Contributing to ChakraCore
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.
We are committed to making Microsoft Edge and its associated ecosystem a benchmark for collaborative innovation, interoperability, and developer productivity. This commitment led to initiatives like the new Microsoft Edge Dev site, Platform Status, and User Voice to foster a two-way dialog between the Microsoft Edge team and the community. Open-sourcing ChakraCore is a natural complement to that effort, and is inspired by the same principles of openness and transparency.
We’re excited about this milestone, and are hopeful that developing in the open will allow us to collaborate even more deeply with more developers around the world, resulting in better products for everyone. If you have any questions or if there is something we didn’t cover, let us know @MSEdgeDev on Twitter or in the comments section below! We look forward to sharing more soon.