Microsoft brings Edge JavaScript engine to Linux, Mac OS X

Microsoft brings Edge JavaScript engine to Linux, MacOS
Credit: Reuters / Rick Wilking

Microsoft is also working with Node.js to expand functionality


If you ever needed a sign that a new era has dawned at Microsoft, this is it: The company announced it is bringing ChakraCore to Linux and OS X. ChakraCore is the main element of the Chakra JavaScript engine used in both the Microsoft Edge browser and the company's Universal Windows Platform.

So, the company whose not-invented-here mentality was so iron-clad in the 1990s is now developing a JavaScript browser and app engine for its two competitor desktop operating systems.

+ Also on Network World: Microsoft cozies up to Linux containers +

The announcement came at NodeSummit, a conference dedicated to all things Node.js, as well as a blog post on the Windows home page. Node.js, for the uninitiated, is an open-source, cross-platform runtime environment used in developing highly scalable server-side Web applications. Major corporate customers include Microsoft, Google, Yahoo, GoDaddy, Groupon, IBM and LinkedIn, just to name a few.

Microsoft showed off the first experimental implementation of ChakraCore runtime and interpreter on x64 Linux and OS X 10.9+ at the event, as well as an experimental implementation of Node.js with ChakraCore on an x64 Linux system, called Node-ChakraCore.

Microsoft said development and testing on Linux happens primarily on Ubuntu 16.04 LTS, but the support should easily translate to other modern Linux distributions.

Microsoft stated the obvious: that bringing ChakraCore to OS X and Linux will allow developers to build cross-platform applications. However, it also noted that the JavaScript Runtime (JSRT) APIs to host ChakraCore were originally designed for Windows, so they inevitably have some Windows dependencies. One example is the use of UTF16-LE encoding for strings, where other platforms might use UTF8-encoded strings. So, the company said it is working to improve backward compatibility.

Microsoft said this on Node-ChakraCore on Linux:

Earlier this year, shortly after open sourcing ChakraCore, we submitted a pull request to Node.js mainline to enable Node.js to work with ChakraCore. Today, we are taking another major step in the Node-ChakraCore journey. As part of enabling Linux support for ChakraCore, we are also sharing the first preview for Node-ChakraCore on Linux at our repo. This is a very early step in our full support for Linux, but we are excited to share the progress.

The company notes that both ChakraCore and Node-ChakraCore have similar support for most JavaScript features on other platforms as on Windows, with the exception of a few. Moreover, cross-platform implementation doesn't support JIT compilation yet, but the company plans to enable it with progress in development.

Microsoft said it will continue to update the ChakraCore roadmap as it makes progress. Currently it is working on Intel support but made no promises of ARM or other CPUs. It's also working on parity between Windows and non-Windows ChakraCore platforms so users have the same experience across platforms.

Must read: Hidden Cause of Slow Internet and how to fix it
View Comments
Join the discussion
Be the first to comment on this article. Our Commenting Policies