Microsoft is bringing Edge’s ChakraCore javascript engine to Linux and OS X

Reading time icon 3 min. read


Readers help support Windows Report. We may get a commission if you buy through our links. Tooltip Icon

Read our disclosure page to find out how can you help Windows Report sustain the editorial team Read more

Microsoft’s embrace of the open source community has been nothing short of impressive for some devoted fighters of proprietary technology. For observers looking in, Microsoft appeared to have not only softened its stance on open sourced software but embraced the necessity of its involvement in advancing the tech community.

To that degree, Microsoft recently open-sourced a garage full of its systems, services, and programs. Among its newly open-sourced projects is its ChakraCore, the Chakra JavaScript engine that powers the Microsoft Edge browser for Windows 10 and its Universal Windows Platform.

Taking it a step further, Microsoft announced at the NodeSummit today, which its efforts in exposing its ChakraCore to the open source community has helped it develop, the first experimental implementation of the ChakraCore interpreter and runtime for x64 Linux and OS X 10.9+. An additional experimental Node.js. Node-ChakraCore) has also been developed for x64 Linux. The Linux testing of the ChakraCore’s have been primarily housed in Ubuntu 16.04 LTS, but the Microsoft Edge team believes the work should easily be translated to other modern Linux distributions.

CharkraCore OSX and Linux
CharkraCore OSX and Linux

In a post written Limin Zhu and Arunesh Chandra of the Edge Developer team, interested parties are given examples and tips to building cross-platform applications with ChakraCore and how the team managed to get Node.js working in ChakraCore.

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 – for example, Win32 usage of UTF16-LE encoding for strings, where other platforms might use UTF8-encoded strings. As part of the 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. Maintaining backwards compatibility is a core principle that we follow – so applications written with the previous set of JSRT APIs on Windows will continue to work as is. You can build the engine and write a Hello-world app to get started with ChakraCore on the Windows/Linux/OS X.

According to the Edge development team, there is plenty more planned for ChakraCore and cross-platform support. As for now, the team seems primarily focused on ensuring non-Windows ChakraCore users are afforded the same top-tier JavaScript performance Windows users currently experience.

NodeChakraCore
NodeChakraCore

Per the nature of open-source development, the Edge development team appears eager to receive as much feedback as possible on their progress as well as their planned schedule. For those interested in providing either useful suggestions or critical feedback, head over to the Node-ChakraCore repo or reach out to the development team via the Twitter handle @CharkaCore.