Over a million developers have joined DZone.

ChakraCore: Microsoft's JavaScript Engine Goes Open Source

DZone 's Guide to

ChakraCore: Microsoft's JavaScript Engine Goes Open Source

The core components behind Microsoft's Chakra, the JavaScript engine which powers Microsoft Edge, are to be open-sourced next month and available on Github. The self-contained Javascript virtual machine has been donned ChakraCore.

· Web Dev Zone ·
Free Resource

The core components behind Microsoft's Chakra, the JavaScript engine which powers Microsoft Edge, are to be open-sourced next month, January 2016, and available on Github under the MIT license. The self-contained Javascript virtual machine has been donned ChakraCore.

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.

With Javascript's advancement from primarily powering web browsers to becoming a language for more widespread use-cases (mobile and tablet apps, server-side apps, cloud services, NoSQL databases, game engines, front-end tools, and IoT), Chakra has adapated to provide excellent performance across many different contexts.

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é.  

chakra ,chakracore ,javascript ,javascript engine ,open source ,web dev ,web developement

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}