News

Better Debugging Highlights Microsoft's Node-ChakraCore Branch of Node.js

Microsoft continues to update its Node-ChakraCore project, which started out to expand the reach of Node.js with an open source branch and then changed direction to improve Node.js functionality such as debugging, its No. 1 pain point.

The company last week announced a preview update to Node-ChakraCore, which debuted in May 2015.

Based on Node.js 8, the new v8.21 release includes some new features along with stable platform builds (Windows, Linux and macOS) incorporating Time-Travel Debugging, a new approach that addresses the No. 1 pain point of Node.js developers as identified in a RisingStack survey.

Node.js Debugging Is Major Pain
[Click on image for larger view.] Node.js Debugging Is Major Pain (source: RisingStack).

But the Node-ChakraCore project didn't start out to improve the functionality of Node.js. The original goal was simply to broaden its reach by offering Microsoft's open source ChakraCore (based on the company's Chakra JavaScript engine) as an option to the runtime's default Chrome V8 engine. That lets Node.js developers work with Microsoft's new Windows 10 IoT Core platform for Internet of Things devices.

"From the beginning, it's been clear that in addition to growing the reach of Node.js ecosystem, there's a need to address real problems facing developers and the Node.js ecosystem through innovation, openness and community collaboration," said Arunesh Chandra, senior program manager for Chakra, in last week's post.

In addition to Time-Travel Debugging, which is supported in the Visual Studio Code editor, that collaboration and the Microsoft branch of Node.js resulted in the "next-generation Node.js API" called N-API and an experimental port of Node.js to run on iOS via Node-ChakraCore.

Now that Node-ChakraCore has full cross-platform support, Chandra said the dev team is turning to new priorities, such as improving performance and module compatibility. Chandra invited community developers to pitch in on the effort, and suggested ways to do so that don't involve writing code for people in different roles:

  • Node.js developer -- Try testing Node-ChakraCore in your project, and use Time-Travel debugging with VSCode and let us know how it goes.
  • Node.js module maintainer -- Try testing your module with Node-ChakraCore. Use these instructions to add Node-ChakraCore in your own CI to ensure ongoing compatibility. If you run into issues, please let us know at our repo or our gitter channel.
  • Native module maintainer -- Consider porting your module to N-API. This will help insulate your module from breakage due to new Node releases and will also work with Node-ChakraCore.

"We are always delighted to see the community build and extend Node-ChakraCore in novel and interesting ways," Chandra said.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events