Microsoft developer division VP S. Somasegar took some time out from his firm's Build 2014 conference last week to blog details of the availability of Node.js Tools for Visual Studio 1.0 Beta.
As Dr. Dobb's readers will know, Node.js is a popular JavaScript-based server-side development language built on Chrome's JavaScript runtime for network-centric applications.
Somasegar says that his team has seen "great support" for Node.js in Azure via Azure Web Sites and Azure Mobile Services for some time.
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and "perfect" (say enthusiasts) for data-intensive real-time applications that run across distributed devices.
Microsoft is of course going to pains now to tell us that the Node.js Tools for Visual Studio offering is set to be one of the best Node.js development environments available. This claim is based upon great JavaScript editor integration, NPM package management functionalities, and onward to fully integrated debugging and diagnostics. Then there is development too, that also works quite well apparently.
NPM (or npm) is the official package manager for Node.js running through the command line. Written in JavaScript itself, it handles dependency management and can be used to publish programs and access Node.js applications available on the npm registry.
This beta release expands support to Visual Studio Express for Web, plus there are debugging enhancements, extra remote debugging in Azure, edit and continue functions, and Azure Worker role support and TypeScript.
With the 1.0 Beta, NTVS is now available for the free Visual Studio 2013 Express for Web. NTVS is a free, open-source plug-in that turns Visual Studio into a Node.js IDE. NTVS supports Editing, Intellisense, Profiling, npm, TypeScript, Debugging locally and remotely (Windows/MacOS/Linux), as well Azure Web Sites and Cloud Service.
"Along with the Azure Node.js SDK, you now have everything you need to build high-performance Node.js websites and networked apps using Visual Studio and Azure," said Somasegar. "The debugging support in NTVS is available both when you F5 to run your Node project from Visual Studio, and when you remote debug a Node.js app running on Windows Azure — including even debugging an app running on Linux."
Somasegar continues, "One of the most important features of NTVS has been bringing the power and convenience of Visual Studio's Debugger to Node.js and the underlying V8 JavaScript engine. The debugging support in NTVS supports all the core debugging features developers expect in Visual Studio: breakpoints, call-stacks, locals, watches, conditional breakpoints, filters, when-hit actions, and more."
He also notes another new feature in this release — support for Azure Worker Roles, which means that developers can use integrated tools to deploy to either Azure Web Sites or Azure Worker Roles. By using worker roles, you can build managed backend services loosely coupled to your frontend web endpoints.
According to Node.js about pages, the language is similar in design to and influenced by systems like Ruby's Event Machine or Python's Twisted. Node takes the event model a bit further — it presents the event loop as a language construct instead of as a library. In other systems, there is always a blocking call to start the event loop.
Node.js Tools for Visual Studio (NTVS) is open source under the Apache 2.0 license and available on CodePlex, Microsoft's open source project hosting web site — the most current version is 0.10.26.