Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼


Microsoft Lauds Node.js Tools for Visual Studio 1.0 Beta

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.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.