Microsoft last week revealed that it will release the core components of its Chakra JavaScript engine to open source as ChakraCore.
It will be available next month on GitHub under the MIT license.
ChakraCore offers best-in-class JavaScript execution with the broadest set of ES2015 feature coverage and dependable performance, reliability and scalability, Microsoft said. It will target cloud-based services, the Internet of Things and beyond.
Microsoft will work with Intel, AMD and NodeSource to develop the ChakraCore community.
“Microsoft, once the undisputed champion of de facto Web standards, now looks to open source as the key to regaining that crown for JavaScript,” commented Bill Weinberg, president and principal analyst atLinuxPundit.
“Like other core infrastructure open source software products, Chakra has the potential to turn the standards world on its head, putting de facto implementation ahead of de jure standardization,” he told LinuxInsider.
“Releasing Chakra as open source paves the way for adoption by other software products and projects across the ecosystem, from the cloud to desktop to IoT,” Weinberg said.
More About Chakra
Chakra powers Universal Windows applications across all form factors supporting Windows 10.
It’s optimized for TypeScript, and Node.js runs with it.
Chakra supports most of the ECMAScript 2015 features, and it supports some future ECMAScript proposals, such as Async Functions. It supports asm.js and is a key player in helping evolve WebAssembly and its associated infrastructure, Microsoft said.
ChakraCore is a fully fledged, self-contained JavaScript virtual machine that can be embedded in derivative products and can power applications such as NoSQL databases, productivity software and game engines that need scriptability, the company said.
It can be used to extend the reach of JavaScript on the server with platforms such as Node.js and cloud-based services.
Unlike Chakra in Microsoft Edge, ChakraCore doesn’t expose Chakra’s private bindings to the browser or the Universal Windows Platform. Further, 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.
The initial release of ChakraCore will be for Windows only, but Microsoft will bring it to other platforms.
“Developers should find advantages in using this toolset” because “it’s focused on developers, and Microsoft makes a decent set of tools,” remarked Rob Enderle, principal analyst at the Enderle Group.
There’s little risk to Microsoft in going this route, and, at worst, its tool would be trivialized, he told LinuxInsider.
Why ChakraCore Has the Juice
ChakraCore enables the “ultrapopular” Node.js on both Windows 10 and Windows 10 IoT Core and has a pre-existing end-user and interoperability base from Chakra’s proprietary database, LinuxPundit’s Weinberg said. It also has strong benchmarking performance from day one of its open source release and has early, selective implementation of ECMAScript 2015 capabilities.
Microsoft is likely to benefit most from open sourcing Chakra by “regaining leadership in a key standard, making interoperability with Chakra’s JavaScript dialect de rigueur,” he suggested.
“If Microsoft marketing is skilled enough to tease apart the JavaScript from the rest of users’ Web experience, they’ll regain their reputation as a technology leader,” Weinberg added.
Platforms adopting ChakraCore as their JavaScript engines also will benefit, and ECMA “will benefit by having a forward-looking, thorough-going implementation of its standard — and features from it — that have a greater potential to propagate across today’s Internet and the emerging IoT,” he said.
ECMA standards have been a battleground, with Adobe, Mozilla, Opera and Google primarily developing ECMAScript 4 specs. Microsoft and Yahoo led another working group to implement some changes and bug fixes in ECMAScript 3 while retaining it as a subset of ECMAScript 4.
Nobody was happy with the result, and ECMAScript 4 was abandoned. Work then began on ECMAScript 5, dubbed “Harmony.”
If ChakraCore delivers on the promise of being a better browsing experience, Weinberg observed, “it boasts the potential of becoming a de facto standard and helping to shepherd fragmented JavaScript implementation across browsers and other execution platforms.”