React, etc. Tech Stack

React, Flux, GraphQL, Hack, HHVM...? All of this and more!

Chakra JavaScript engine from Microsoft coming to Node.js for Mac and Linux

Node.js is a server side environment for running JavaScript. Created in 2009 the Node.js has traditionally ran on the V8 JavaScript engine from the Google Chrome team, but lately Microsoft has made it's intentions clear; They're giving an alternative to V8 with the Open Source ChakraCore JavaScript engine.

Microsoft originally embedded the Chakra engine to it's Internet of Things version of it's flagship Windows 10 Operating System. The IoT iteration of Windows 10 runs on limited hardware on the ARM processor architecture and Microsoft had to optimize to get Node.js to run on it, this was done using Chakra instead of Google's V8 engine.

Windows 10 for IoT was launched in 2015 and progress with Chakra and Node.js has progressed. Microsoft open sourced their ChakraCore JavaScript engine in January 2016 and the company is making inroads in the Node.js integration to Linux and Mac OS X (nowadays macOS):

Bringing ChakraCore to Linux and OS X is all about giving developers the ability to build cross-platform applications with the engine. The JavaScript Runtime (JSRT) APIs to host ChakraCore were originally designed for Windows, so they inevitably had a few Windows dependencies. As part of enabling cross-platform support, some of the JSRT APIs have been refactored and redesigned to allow developers to write platform agnostic code to embed ChakraCore.

This means that the engine behind the power of the Node.js platform will now be open to competition. This will drive innovation as there will now be two options, instead of a single one. Adopting ES6/ES7 and future JavaScript features will be accelerated. Instead of reinventing the wheel Microsoft aims for full compatibility through matching the APIs of the V8 engine used by default in Node.js.

Microsoft is hardly a newcomer to the world of JavaScript as the company has been building JavaScript engines for over two decades. Chakra is the latest generation engine with it's initial launch in the Internet Explorer 9 and continous improvement to Edge, what is now the default browser in Windows.

In addition the Windows Operating System has supported JavaScript as a first class development language since the Windows 8 launch back in 2012. The company's TypeScript project has also gathered quite a bit of interest from JavaScript frameworks like Angular 2. Microsoft is applying it's experience in developer tooling and languege design to overcome some of the weaknesses JavaScript as a language for complex application development.

Some of the older farts in the tech community have some deep antipathy against anything coming from Microsoft. The company has had to open up since it's Windows monopoly is gone and it now has to play on a more level playing fields, where as Google still dominates the seach engine world.

Time will tell if it will gather significant marketshare or whether it will be a curiosity, but it is likely that deploying Node.js applications to Microsoft's cloud platform Azure will eventually be powered by the Chakra engine. In any case Node.js enthusiasts should welcome the new option as an alternative to the V8 engine.

Related reading:

Written by Jorgé on Thursday August 4, 2016

Permalink -

« Angular 2 CLI moves from SystemJS to Webpack - A Serverless Architecture is just a bunch of Microservices hosted in the Cloud »