In short -
Slightly extended and more descriptive version of this can be found on
node.js About page.
Main design goals of
- No function should direct perform I/O.
- To receive info from disk, network, or another process there must be a callback.
- Stream everything; never force the buffering of data.
- Do not remove functionality present at the POSIX layer. For example, support half-closed TCP connections.
- Have built-in support for the most important protocols: TCP, DNS, HTTP
- Support many HTTP features: chunked requests and responses, keep-alive, hang requests for comet applications.
- The API should be both familiar to client-side JS programmers and old school UNIX hackers.
- Be platform independent.
A very good (and really helpful in terms of grasping its concepts) overview of the idea behind
node.js, what it is and how it works, together with several usage examples, is available in
node.js' author Ryan Dahl's presentation given during JSConf 2010.
node.js on your Linux machine simply execute the following commands:
git clone git://github.com/ry/node.git cd node ./configure make sudo make install
Instead of using git,
node.js can be downloaded directly from its home page.
For building the system no dependencies other than Python are required, and V8 engine is already included in the distribution.
Basic usage examples can be found on
node.js home page ("Hello world" web server and "echoing" TCP server).
And, obviously, even more over the whole Internet. Google to the rescue!
- already mentioned above Ryan Dahl's node.js presentation from JSConf 2010
- Introduction to NodeJS video of Ryan Dahl giving a talk on his project during Cinco de Node meetup, recorded for YUI Theater
- NodeJS Wiki and Modules pages, listing lots of applications and projects based on
node.js, articles and talks about it, as well as companies using it in their development
- Google Groups: nodejs
- Nodejs development discussion group on devComments