Node.js — or just Node, as it's commonly called — is used for developing applications that make heavy use of the ability to run JavaScript both on the client, as well as on server side and therefore benefit from the re-usability of code and the lack of context switching.

It's also possible to use matured JavaScript frameworks like YUI and jQuery for server-side DOM manipulation.

To ease the development of complex JavaScript further, Node.js supports the CommonJS standard that allows for modularized development and the distribution of software in packages via the Node Package Manager.

Applications that can be written using Node.js include, but are not limited to:

Static file servers

Web Application frameworks

Messaging middleware

Servers for HTML5 multi player games

When asking questions about Node.js, you should:

Make sure to check the official API documentation before asking, your question might be trivial.

Isolate the problem and reproduce it with as little code as possible, if you can also use an online tool like JSApp for that, it's even better.

If the question has nothing to do with anything that's Node.js specific, please consider asking it as a javascript question instead.

Mention which version of Node.js you are running. When in doubt, use node -v.