While the Microsoft developers admit that that, thus far, the engine, called Chakra Core, is not yet as fast as V8, it could soon serve as a superior replacement in Internet of Things (IoT) devices running next generation ARM Thumb-2 processors, which V8 does not yet support.
Chakra Core also offers capabilities in restricting power, memory and CPU consumption, which will help Node-based applications run more effectively on resource-constrained IoT devices, according to Arunesh Chandra, Microsoft senior program manager for Chakra Core, who detailed the engine at the Node.js Interactive conference, taking place this week in Portland, Oregon.
When Chakra Core is open sourced, the Chakra team is planning to submit a pull request to the Node maintainers asking for Chakra to be incorporated upstream, which, if accepted, would provide the ability for users to download the code for a Chakra Core-based Node.
Microsoft first showed an interest in bringing Chakra to Node last May, Chandra explained. Chakra was ported to run on ARM processors for the Windows 10 IoT Core, which can be run on devices such as the Raspberry Pi 2 and the MinnowBoard Max. So the development team created a set of shims that could intercept V8 API calls, and reroute them to Chakra, which, in turn, allowed them to create a version of Node to run on ARM Thumb-2 devices.
Chandra admitted that more work still needs to be done to make Chakra Core fully ready for Node production duties. The debugging capabilities are limited. Performance on Node is not quite on par with V8 and many Node packages that were written for specific V8 calls aren’t compatible.
“The idea [with Chakra Core] is to work with the community and contribute as much as possible to Node.js. We are totally committed to this technology and working in the open,” Chandra said.