top | item 3199336

Node.js v0.6.0 is released

198 points| jasondavies | 14 years ago |blog.nodejs.org | reply

35 comments

order
[+] lemonad|14 years ago|reply
I found it a bit odd that writes for linux went down from 22MB/s to 17MB/s when Windows writes went way up from 13MB/s to 34MB/s. This at the same time as read performance went up to 27MB/s for both systems.

Edit: Seems like it's a regression that will likely be fixed for 0.6.1.

[+] markbao|14 years ago|reply
Am I the only one that thinks that Windows support was not really worth the time? Sure, you get to support a huge chunk of the OS market, but what are the real implications of Node running natively on Windows?
[+] ConstantineXVI|14 years ago|reply
Microsoft funded the work. My guess is since they're pushing for JS client-side apps now with WinRT; they funded node on Windows so that JS developers can run their server-side code on Windows instead of being tempted to fire up a *nix server instead.

(AFAIK, MS doesn't have any server-side JS tooling similar to node at the moment. Very good chance that I'm wrong, though.)

[+] ilaksh|14 years ago|reply
Wow.. yeah, who would want Node on Windows? Whats the point. LOL. The sad thing is, that is probably the default perspective. Basically what's going on is status quo bias -- its the same thing with dying. There's nothing you can do about it so you learned to accept and love that Node.JS doesn't work on Windows. Who would want to live forever? Dying is great! Or you just don't want to have anything to do with Windows or something. People are amazingly stupid. I'm sorry, but its just stupidity to react that way.

"Sure, you get to support a huge chunk of the OS market" <-- This is a big deal.

Most businesses run Windows. I want my Node.JS software to run on most business servers or workstations without requiring a VM or something. Same with most PCs.

The implication is that I can provide Node.JS-based software to an additional 400 million or so people. That means that I can write my software for Node.JS and not have to write a different version for Windows or ignore 400 million people.

For example, say I built an online database application builder type thing where users can build forms using drag and drop and configure database search screens and reports easily. What a lot of my users really want is to have complete control over their database and application. They don't want to have to rely on my server or their internet connection always being on to access their business data.

With good Windows support, I can build my application in Node.JS, and provide a setup bundle that users or IT people can use to install the user's database application on a Windows server.

Seems pretty obvious that this is a big advantage.

[+] rmgraham|14 years ago|reply
I believe the extensive work on Windows support was from a Microsoft/Joyent collaboration.. as in the answer to your question may be measured in $$$.

Not that that's a bad thing at all, but it would explain the seemingly unusual choice.

[+] htilford|14 years ago|reply
'huge chuck' is an understatement. Windows is the majority OS.
[+] artsrc|14 years ago|reply
I think your argument is valid, but that it will take some serious cultural change at Microsoft to accept.

When Microsoft SQL Server, Exchange and Sharepoint run on on Linux we will know that has change happened.

[+] rmason|14 years ago|reply
Windows support is what Node needs in order to go mainstream. It also means that Node developers will be in even greater demand.
[+] grannyg00se|14 years ago|reply
"Native Windows support using I/O Completion Ports for sockets."

"Integrated load balancing over multiple processes."

These two improvements are just the nudge I needed to start tinkering with Node. I've been following along and reading about node almost daily but native windows support and integrated focus on multiple processes make a big difference to me. I can no longer sit on the sidelines.

Thanks for picking me up and shoving me onto the field!

[+] ebiester|14 years ago|reply
While I agree what windows support is nice, I have found running a virtual machine running Linux much easier even when there is official Win support. It's no different running an SSH terminal to a local system than a remote one, after all.
[+] Swizec|14 years ago|reply
Direct link to a list of changes you have to make to your codebases: https://github.com/joyent/node/wiki/API-changes-between-v0.4...

Question: Since this doesn't look that complex, is anyone working on an automagical translator from 0.4 to 0.6 that people could use?

[+] joelhaasnoot|14 years ago|reply
I think lots of the pain is going to be in the vast collection of third party (npm) modules that need to be updated. Will take a bit before all module authors are up to date.
[+] moomin|14 years ago|reply
Next for windows developers is trying to get npm to work. The sheer popularity of unix tooling in the build process means that using node libraries is likely to remain a challenge.
[+] jinushaun|14 years ago|reply
While it's true that a lot of Node libraries assume *nix and make system calls, a surprising number of libraries are written in pure Node. Just clone the library from GitHub and put it in the node_modules directory and you're good to go for a number of popular libraries.

I've played around with Node in Windows and Node without NPM is seriously gimped.

[+] Ecio78|14 years ago|reply
uhm, according to their benchmark io.js write performance dropped from 21mb/s to 17mb/s in linux but rose from 12mb/s to 33mb/s in windows. So it seems that windows node implementation is now twice faster (for I/O) than linux one..are they only focusing on windows platform?
[+] bnoordhuis|14 years ago|reply
That's a regression we'll probably have fixed in 0.6.1.

Note that I/O read performance is up 35%, from 19.7 mb/s in 0.4 to 26.6 mb/s in 0.6.

[+] elii|14 years ago|reply
Don't use it if you rely on npm. It doesn't work yet.
[+] Kudos|14 years ago|reply
Or just install npm manually. Clone it, edit one line to bypass a check, `make install`. Remember, if it's 0.5.x compatible, it's probably 0.6.0 compatible.
[+] firefoxman1|14 years ago|reply
Wow the balancing through clusters looks awesome! With this addition, does anyone know if you need to start node with --balance anymore?
[+] dmmalam|14 years ago|reply
Would be nice to see a need a list of modules that are ready for 0.6. I rekon our moderately complex app we will be on 0.4.x for a while
[+] disordinary|14 years ago|reply
Wouldn't run node on windows in production, but it makes it a heck of alot easier for dev work.