Microsoft and Joyent Working to Bring Node.js to Windows Platform

Microsoft has joined Joyent and Ryan Dahl in their effort to make Windows a supported platform in Node.“Our first goal is to add a high-performance IOCP API to Node to give developers the same high-performance/scalability on Windows that Node is known for, given that the IOCP API performs multiple simultaneous asynchronous input/output operations. At the […]

Microsoft has joined Joyent and Ryan Dahl in their effort to make Windows a supported platform in Node.

“Our first goal is to add a high-performance IOCP API to Node to give developers the same high-performance/scalability on Windows that Node is known for, given that the IOCP API performs multiple simultaneous asynchronous input/output operations. At the end of this initial phase of the project, we’ll have official binary node.exe releases on nodejs.org, meaning that Node.js will run on Windows Azure, Windows 2008 R2, Windows 2008 and Windows 2003,” informs Claudio Caldato, Principal Program Manager, Interoperability Strategy Team.

The native port to Windows is underway, and requires a “rather large modification of the core structure,” according to the post, authored by Ryan Dahl, the creator of node. The ultimate goal is to create an official binary node.exe release on Nodejs.org, “which’ll work on Windows Azure and other Windows versions as far back as (Windows Server) 2003,” the post added.

Per official statement from Caldato:

As we’re still in the early stages of this project, we don’t have a release date as yet. While we want to have great Windows support as soon as possible, our main goal is to ensure quality and performance so that Windows developers can rely on a solid and reliable NodeJS runtime environment. We’re working with the Node.js open source community and, as Joyent said on their blog, Microsoft is contributing Engineering resources to make this happen. We want to make sure that Windows is a great platform for all developers.

Node.js a command line tool that lets developers run JavaScript programs by typing ‘node my_app.js.” The JavaScript is executed by the V8 JavaScript engine — “the thing that makes Google Chrome so fast,” as explained on Debuggable.com in its “Understanding Node.js” post. Node provides a JavaScript API for accessing the network and file system. It is particularly suited for development of scalable networked programs where low response times and high concurrency are important.

Currently, to use Node.js on Windows, developers need to run a virtual machine with Linux.

There’re a number of tech companies already using/experimenting with Node.js. Per Debuggable.com post:

Yahoo is experimenting with node for YUI, Plurk is using it for massive comet and Paul Bakaus (of jQuery UI fame) is building a mind-blowing game engine that has some node in the backend. Joyent has hired Ryan Dahl (the creator of node) and heavily sponsors the development. Oh, and Heroku just announced (experimental ) hosting support for node.js as well.

[Source:Interoperability @ Microsoft, Ryan Dahl, Joyant]