A new direction for web applications
mikealrogers.com
mikealrogers.com
I like node.js because it is much faster than ruby and it provides a very thin layer of abstraction that takes most of the pain out of dealing with async io. I also happen to like JavaScript as a language. Further, I enjoy developing in primarily one language as it reduces the cognitive burden of context shift between front and back-end development. Finally, I enjoy the node.js debugging tools more than anything ruby has to offer (thanks Danny Coates and the chrome dev tools team!)
However, telling people that you cannot connect to multiple databases with ruby or python and saying that node is unique in its ability to build systems that maintain state within a process isn't intellectually honest; node.js doesn't have a particular advantage over netty, eventmachine or twisted for the particular use-cases that you gave; there are already non-blocking variants of most of the libraries available to the node.js community in python, ruby and (increasingly) java.
In fact, MVC doesn't really have anything to do with those issues: it is a pattern addressing the separation of concerns, whereas the shortcomings in the article relate to specific implementation of frameworks that also happen to follow the MVC pattern.
That said, there certainly is a new direction emerging for web applications: we're entering the world of sophisticated software. :)
In addition, if you're making a single process talk to a PostgreSQL, Redis and CouchDB database, send email and SMS, and talk to a couple of APIs then you're doing it wrong.
I'd like someone to show me the code and a real example.