Node.js is a toy that just happens to perform very well out of the box and is simple enough for most developers to grasp the general ideas after working with it for a while. I’m still surprised how little has changed in the realm of developer discussions. I’m old enough to remember the PHP vs. ASP arguments, the VB vs. Delphi arguments and now we have the Node.js vs. XXXX or CoffeeScript sucks because of XXXX. Nothing has changed really. Fortunately the community sorts this out behind the scenes because the press or bloggers will tell us that XML will save the world or everything will be HTML 5 but the reality settles into its own niche. Technologies come and go and I think most developers try to use the right tool for the job at hand.
Node.js works well for prototypes as well as production work. I’m fortunate to work for a company that actually has Node.js running in production as well as things like Luvit. We also use Python, Ruby, Java, and much more. The trick as I’ve stated is to use the right tool for the job. Node.js is not a perfect fit for every project just as Ruby on Rails wasn’t a good fit for everything when it was bursting into the scene. I think a good developer gets familiar with as much as they can so that way they can see what fits best for a given problem.
When you watch Twitter or other developer news sources you can get the idea that Node.js, PHP, Vert.x, CoffeeScript or whatever is a terrible tool. It seems that one or two blog posts making a negative point or two can rise to the top of people’s “to read” lists pretty quickly. Perhaps negativity attracts developers? Debates over Fibonacci tests ( a post that sparked some controversy ) or seemingly endless comments on simple performance tests. Is it all really worth it? Apparently some developers just want to fight rather than code.
I too use to have my pet tools and languages. I outgrew that a while ago. Nowadays it seems to much more beneficial to keep your options open and to avoid any “mind locking”.
In the end though these technologies like Node.js, Vertx. Ruby on Rails, Python, CoffeeScript, MongoDB, etc. change things. They will always have their share of detractors and some will get pretty loud but you have to filter the noise and do whats best for you and your projects. Good Luck!
Note: To prove my point I’m certain that I’ll get more hits on this article just based on the title than my other articles which actually are much more informative.