Serdar Yegulalp
Senior Writer

Microsoft treads on Node.js’s turf with Chakra JavaScript engine

news analysis
Dec 7, 20152 mins

An open source Chakra is part of Microsoft's plans for infiltrating a world powered by JavaScript and its friends

Microsoft’s plan to open-source its Chakra JavaScript engine has far-reaching implications. Most of all, it shows that Microsoft wants to become a player in the JavaScript ecosystem that has ambitions to be a near-universal runtime for every kind of software.

The blog post detailing Chakra’s near- and far-term plans describes its evolution in parallel with JavaScript since 2008. Microsoft sees Chakra as a universal Node.js-like application engine that “powers services such as Azure DocumentDB, Cortana, and Outlook.com,” and runs “Universal Windows applications across all form factors where Windows 10 is supported.”

The Node.js connection couldn’t be more explicit since Node.js can run with Chakra under Windows 10 by using patches Microsoft submitted to the Node project.

chakra componentization Microsoft

ChakraCore, the open source heart of the Chakra JavaScript engine, is divested from any dependencies on Windows and can be ported to other platforms. Microsoft wants Chakra to be used in a broad variety of scenarios, including embedded systems.

Chakra’s open source incarnation, ChakraCore, is a version of the Chakra engine that’s been shorn of its dependencies on the Windows platform. For example, the diagnostics APIs in Chakra, which use COM, will be replaced with a new set that is platform agnostic and could be standardized or made interoperable across different implementations.

ChakraCore will then be ported to non-Windows platforms, thus becoming a part of JavaScript’s “write once, run anywhere” world. With asm.js, for example, C/C++ applications can be ported to JavaScript and run at remarkably high speeds. With WebAssembly, it’s theoretically possible to take any language, compile it to a portable bytecode, and run it in the browser — or, for that matter, any environment.

These strategies echo Microsoft’s earlier ambitions to create universal platforms. Windows was, and still is, meant to run in a plurality of environments; .Net was and is intended to provide a way to write cross-platform applications. But here Microsoft is only one player among many working on a common platform, rather than one player enforcing a common platform for many.

Serdar Yegulalp

Serdar Yegulalp is a senior writer at InfoWorld. A veteran technology journalist, Serdar has been writing about computers, operating systems, databases, programming, and other information technology topics for 30 years. Before joining InfoWorld in 2013, Serdar wrote for Windows Magazine, InformationWeek, Byte, and a slew of other publications. At InfoWorld, Serdar has covered software development, devops, containerization, machine learning, and artificial intelligence, winning several B2B journalism awards including a 2024 Neal Award and a 2025 Azbee Award for best instructional content and best how-to article, respectively. He currently focuses on software development tools and technologies and major programming languages including Python, Rust, Go, Zig, and Wasm. Tune into his weekly Dev with Serdar videos for programming tips and techniques and close looks at programming libraries and tools.

More from this author