Some of us are already familiar with Node.js and for some others, it is probably "another new development tool/language/standard that is getting popular but what the heck..".
Node.js is really getting popular + being used more and more each day and it deserves this attention with the flexibility and performance if offers.
What is Node.js?
In a single definition: Node.js is a server-side JavaScript environment that uses an asynchronous event-driven model.
JavaScript is mostly ran/rendered on the client-side, in the browsers. However, Node.js is a server-side JavaScript interpreter and allows us to handle and make requests via JavaScript.

It is so fast as the engine is powered by the Google's V8 JavaScript Engine, runs under a single thread and every I/O operation is asynchronous which means no waiting for I/O operations of other requests.
A Node.js application can handle thousands of concurrent connections with minimum resource usage
Also, the ability to share code between the server and client-side is another plus. For ex: you can easily run the same form validation code on both sides.
It is not alone in the world of server-side JavaScript as there are other solutions like Aptana Jaxer, Ringo, Narwhal or EJScript. And, running JavaScript in the server is not something new as well considering classic ASP with IIS can do that too. But, things running asynchronously changes many things.
How to learn Node.js?
There are already a good number of tutorials and (e)books on Node.js. Here are some great ones to start with:
There are many modules and resources to easily get going with Node.js. Also, some great open source applications built with it. Here they are:
Node Development

The popular package manager for Node.js which can be used for installing and publishing Node programs.
Also, it can manage dependencies and the website has a package-search-engine.

A remote debugging tool built with Node.js and Socket.io which enables your mobile application to send/receive messages from other connected devices (mostly mobile in this case) to your desktop browser.
P.S. It was previously mentioned at WRD.

Socket.IO brings WebSockets real-time communications to every browser whether they support it or not.
It has several transport methods like WebSockets, Adobe® Flash® Socket or JSONP Polling and the best method for the client's browser is selected automatically.
Read the rest of this entry »