Paul Krill
Editor at Large

Windows goes Node for Microsoft’s Internet of things

news
May 19, 20152 mins

The Chakra JavaScript engine will bridge the gap to run Node.js on Windows on ARM systems

Microsoft is linking Node.js to Windows 10 and the Internet of things, leveraging its Chakra JavaScript engine to get Node.js running on Windows on ARM.

In a recent blog post, Microsoft technologists discussed efforts to use Node.js as a mechanism for building IoT solutions. “There is an emerging trend of developers using Node.js for IoT scenarios, and we want to meet developers where they’re at and provide them the tools they need to be successful on the Windows 10 IoT Core platform,” said Arunesh Chandra, Chakra Senior Program Manager, and Gaurav Seth, Chakra principal manager, of the Windows Apps Team. Windows IOT Core is intended for devices with a minimum of 256 KB of RAM and is similar to Windows Embedded.

Microsoft has forged a workaround for Node.js’s inability to run on Windows on ARM devices. According to the blog post, developers can have Node.js “take advantage of running with the Chakra JavaScript engine, which is part of the OS on Windows 10 and has been optimized to run efficiently on WoA devices since its inception. The use of built-in Chakra engine not only reduces the disk footprint impact when executing Node.js apps, but also enables us to bring first-class Universal Windows Platform support to Node.js apps.”

These efforts are in their early stages, but for now, Microsoft has created a wrapper between JSRT (JavaScript Runtime) hosting APIs exposed by Chakra and V8 hosting APIs used by Node.js. Microsoft will talk with the Node Foundation, the Node.js technical committee, and others about developing JavaScript engine-agnostic hosting APIs for Node.js. Plans call for enabling more Node.js scenarios and higher npm package compatibility, improved performance, and a JavaScript-agnostic interface for Node.js.

“We are excited to bring Node.js to Windows 10 IoT Core and eager get your feedback,” Chandra and Seth said. “Given that this is early work, certain things do not work as expected for now. Some known issues are related to incomplete support for VM module and npm packages like serialport, firmata, etc. Also, developers have to go through multiple steps listed in the readme.md to setup the node environment to build from raw sources.”

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author