Join the DZone community and get the full member experience.Join For Free
Learn how error monitoring with Sentry closes the gap between the product team and your customers. With Sentry, you can focus on what you do best: building and scaling software that makes your users’ lives better.
The official announcement was made on Saturday, December 5th, at JSConf US Last Call in Florida, followed shortly by a Microsoft blog post, highlighting some of Chakra's accomplishments thus far and their plans to create a vibrant ChakraCore community.
The Chakra Vision
In the words of Microsoft:
Our founding principles were to ensure that Chakra had the performance characteristics needed for the modern web and could easily adapt to other potentially emerging scenarios, across a range of hardware profiles. In a nutshell, this means that Chakra needed to start fast, run fast, and deliver a great user experience, while utilizing the full potential of the underlying hardware. Chakra achieved 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 do concurrent and partial collections.
The de facto engine for powering Windows 10 applications, Chakra supports PC, Xbox, Windows phones, and Windows 10 IoT Core (enabled to run with Node.js). Not to mention, it also powers various cloud services: Cortana, Azure DocumentDB, and Outlook.com.
It's proven itself to be capable of excellent performance with Microsoft Edge. And again, in the words of Microsoft:
Additionally, Chakra supports most of the ECMAScript 2015 (aka ES6) features and 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.
So, now that it's open source, will the community foster even more growth for Chakra?
Things to Come
Differentiating between Chakra and ChakraCore, Microsoft states:
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.
ChakraCore is a "fast, scalable, and lightweight engine" fit for any application stack. Microsoft plans to make it even more adaptable over time, with hopes to expand beyond the Windows ecosystem, which is the only platform initially supported. Developers are encouraged to reach out to Microsoft, requesting platforms they’d like to see ChakraCore supported on.
As for the community, Microsft has pointed to several lines of communication:
And, as for contributing, the GitHub repository will open up in January, with Microsoft stating:
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.
So, open-sourcers, meditate on that one for a while and come back here to let me know what you think, once you feel your chakras are aligned. Until then, namasté.
Opinions expressed by DZone contributors are their own.