Jump to content

Node.js

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by BillyBreen (talk | contribs) at 02:18, 28 January 2012 (0.6.9 is out). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Node.js
Original author(s)Ryan Lienhart Dahl
Developer(s)Node.js Developers
Stable release
0.6.9 / January 27, 2012 (2012-01-27)
Preview release
0.7.1 / January 23, 2012 (2012-01-23)
Repository
Written inC++, JavaScript
Operating systemMac OS X, Linux, Solaris, FreeBSD, OpenBSD, Windows (older versions require Cygwin), webOS
TypeEvent-driven networking
LicenseMIT License
Websitenodejs.org

Node.js is a software system designed for writing scalable internet applications, notably web servers.[1] Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability.[2] Node.js consists of Google's V8 JavaScript engine plus several built-in libraries.

Node.js was created by Ryan Dahl starting in 2009, and its growth is sponsored by Joyent, his employer.[3][4]

Similar environments written in other programming languages include Twisted for Python, Perl Object Environment for Perl, libevent for C and EventMachine for Ruby. Unlike most JavaScript programs, it is not executed in a web browser, but is instead a server-side JavaScript application. Node.js implements some CommonJS specifications.[5] It provides a REPL environment for interactive testing.

Node.js was selected by InfoWorld for the Technology of the Year Award in 2012.[6]

Examples

This is a complete implementation of hello world as an HTTP Server in Node.js:

var http = require('http');

http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
}).listen(8000);

console.log('Server running at http://localhost:8000/');


This is a simple TCP server which listens on port 7000 and echoes 'hello' upon connection:

var net = require('net');

net.createServer(function (stream) {
    stream.write('hello\r\n');

    stream.on('end', function () {
        stream.end('goodbye\r\n');
    });

    stream.pipe(stream);
}).listen(7000);

Community

Node.js has a developer community primarily centered on two mailing lists, nodejs and nodejs-dev, and the IRC channel #node.js on freenode. The community gathers at NodeConf, an annual developer conference focused on Node.js.[7]

See also

  • JavaScript
  • V8 (JavaScript engine)
  • NPM, the Node Package Manager - the predominant package manager for Node.js. As of Node.js version 0.6.3, npm is installed automatically with Node.js.
  • JSAN, the JavaScript Archive Network - a lesser used JavaScript package manager.

References

  1. ^ Wait, What's Node.js Good for Again?, By Klint Finley, January 25, 2011, ReadWriteHack
  2. ^ Cade Metz (1st March 2011). "The Node Ahead: JavaScript leaps from browser into future". The Register. {{cite news}}: Check date values in: |date= (help); Italic or bold markup not allowed in: |publisher= (help)
  3. ^ Why Everyone Is Talking About Node, By Jolie O'Dell, March 10, 2011, Mashable
  4. ^ Alex Handy (2011-06-24). "Node.js pushes JavaScript to the server-side". SDTimes. Retrieved 2011-09-04.
  5. ^ Implementations/node.js - CommonJS Spec Wiki
  6. ^ "Node.js Selected by InfoWorld for 2012 Technology of the Year Award". MarketWatch. January 11, 2012. Retrieved January 26, 2012.
  7. ^ NodeConf Schedule Announced, By Klint Finley, April 7, 2011, ReadWriteHack