Node.js not suitable for general web development
Had a quick look at Node.js usage in production.
In most cases Node.js isn't used as a web framework for the core web product. It's used for additional specialized API or real-time extensions.
From my subjective experience with Node.js web frameworks - it's about the level of Ruby Sinatra. None of node.js web frameworks even closely compared to Ruby on Rails. Nor in terms of functionality nor in development productivity.
So, it seems for me that Node.js isn't suitable for general web development. It's a good fit for API, but not for web site or web applications (online project management and so on.).
And that's sad news, because I believe it has all features needed to build rich and high productive web framework like Ruby on Rails (Fibers can be used to mitigate callbacks).
Still, even if productivity with Node.js is less than with Ruby on Rails it's better than with Java web frameworks.
As I said before:
I believe Node.js has all features needed to build rich and high productive web framework like Ruby on Rails
So, here it is - http://monojs.org - power of Node & simplicity of synchronous code. I used it for a while and decided to publish it. From my experience of working with both monojs & RoR it has roughly the same development productivity.
How it works - if you know Node.js you probably know that the heart of its power is Event Loop & Asynchronous Code. So - isn't it hurt its performance if we make it synchronous?
The answer is NO. I lied to you a little, the synchronous code is not actually synchronous. It looks like it's synchronous (so it's simple to work with) but internally it executes as asynchronous (with same asynchronous non-blocking performance).
If you need more details about how such thing works read about Fibers, and how it can turn Asynchronous Event Loop into something like Lightweight Processes.