Microsoft has announced the release of Node.js Tools 1.0 for Visual Studio (NTVS 1.0).
This marks the next major milestone for Microsoft’s NTVS open-source plug-in, enabling developers to use Visual Studio 2012/2013 as a Node.js tool for building fast, scalable applications using JavaScript. Developers using Node.js can develop for a host of different platforms, including Internet of things (IoT) devices, desktop applications, robotics and more.
The NTVS plug-in has been in development for more than a year, as Microsoft announced a beta of the tooling last April at its Build 2014 conference. NTVS is a free, open source extension for Visual Studio 2012 and Visual Studio 2013 that turns Visual Studio into a Node.js integrated development environment (IDE). NTVS 1.0 supports the free Visual Studio Community and Visual Studio Express for Web editions, as well as Visual Studio Professional and higher.
“Node.js is a platform for building fast, scalable applications using JavaScript,” said Sara Itani, a Microsoft software engineer working on the NTVS team, in a blog post. “It’s making its way just about everywhere—from servers, to Internet of Things devices, to desktop applications, to who knows what next? And now, with Node.js support in Visual Studio, it’s easier than ever before to develop Node.js applications.”
Highlights of this release include editing and IntelliSense improvements. Visual Studio supports syntax highlighting, code-folding, find in files and also code completions. The new release also features a Node.js Interactive Window with support for read-eval-print loop (REPL). A REPL is an environment that accepts one command at a time, helping developers experiment with code or explore a new package more quickly.
“For the uninitiated, REPLs are awesome,” Itani said. “Write some code, and see the results inline. It really speeds up the process of experimenting with code, or exploring a new package. And of course, we’ve gone a step further and sprinkled the experience with some Visual Studio magic—you’ll get full syntax highlighting and completions, just like you do in the editor.”
The new NTVS release also features npm Integration. Npm is a package manager for JavaScript and is the default for Node.js. With NTVS 1.0, developers can explore and manage npm dependencies in their project and install them from the npm registry.
“Explore and manage your npm dependencies in Solution Explorer, search for and install dependencies from the npm registry in the rich UI, and hop into the interactive window or command prompt for everything else,” Itani said. “The end-to-end npm integration makes working with your dependencies easy—NTVS will even warn you when one of your dependencies is missing.”
Node.js is a software platform for scalable server-side and networking applications. Node.js applications are written in JavaScript, and can be run within the Node.js runtime on Windows, Mac OS X and Linux with no changes. Applications are designed to maximize throughput and efficiency, using non-blocking I/O and asynchronous events. They run single-threaded, although Node.js uses multiple threads for file and network events. The Node.js platform is built on Google Chrome’s JavaScript runtime for easily building fast, scalable network applications.
Microsoft Releases Node.js Tools for Visual Studio
NTVS includes support for Microsoft’s TypeScript superset of JavaScript. In an April 2014 blog post, S. “Soma” Somasegar, corporate vice president of Microsoft’s Developer Division, said many developers are using TypeScript in Node.js projects, “so adding TypeScript support in NTVS provides a way to enjoy the best of TypeScript, Node.js and Visual Studio together. While Node.js enables you to scale your application’s runtime, TypeScript enables you to scale your application’s development. With the 1.0 Beta, NTVS has full debugging, IntelliSense and profiling support for TypeScript.”
Indeed, one of the most important features of NTVS is having the power and convenience of Visual Studio’s debugger available for 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, Somasegar said.
Microsoft has been an active contributor in the Node.js community and last month joined the Node.js foundation to advance community engagement relative to Node.js. Microsoft joined forces with Joyent, IBM, PayPal, Fidelity and The Linux Foundation to establish the Node.js Foundation, which is committed to the continued growth and evolution of Node.js, while maintaining a collaborative environment to benefit all users.
“We know firsthand why Node.js is a popular choice for thousands of organizations worldwide,” said Gianugo Rabellino, senior director of Open Source Communities at Microsoft Open Technologies, in a statement. “Forming an independent foundation of such passionate contributors and users to guide Node.js as its growth continues validates the project’s maturity and sets an open stage for more success to come.”
Joyent officials said Node.js is the runtime of choice for high-performance, low latency applications, powering everything from robots to API engines to cloud stacks and mobile websites. Over the past two years, more and more large enterprises including IBM, PayPal and Microsoft have adopted Node.js as part of their enterprise fabric. Today, Node.js is used by tens of thousands of organizations in more than 200 countries and amasses more than two million downloads per month.
“With its proven success in mobile, web, service integration, IoT, robotics and other technology areas, Node.js is poised for even broader adoption,” said Scott Hammond, CEO of Joyent, in a statement. “With this growth and continued adoption, we feel the project needs to evolve to attract additional contributions, foster a healthy ecosystem of technology and service providers and further enrich the community. For us, the first step in this evolution was to create the Node.js Advisory Board to gather input from a diverse set of organizations and individuals in the Node.js community. We believe the creation of the Node.js Foundation is the logical next step in that process.”