<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< link type = "image/x-icon" rel = "icon" href = "favicon.ico" >
< link type = "image/x-icon" rel = "shortcut icon" href = "favicon.ico" >
< link rel = "stylesheet" href = "pipe.css" >
< link rel = "stylesheet" href = "sh_vim-dark.css" >
< link rel = "alternate"
type="application/rss+xml"
title="node blog"
href="http://feeds.feedburner.com/nodejs/123123123">
< title > node.js< / title >
< / head >
< body id = "front" >
< div id = "intro" >
< img id = "logo" src = "http://nodejs.org/images/logo.png" alt = "node.js" >
< p > Node.js is a platform built on < a
href="http://code.google.com/p/v8/">Chrome's JavaScript runtime< / a >
for easily building fast, scalable network applications. Node.js
uses an event-driven, non-blocking I/O model that makes it
lightweight and efficient, perfect for data-intensive real-time
applications that run across distributed devices.< / p >
< p > Current Version: __VERSION__< / p >
< div class = buttons >
< a href = "http://nodejs.org/dist/__VERSION__/node-__VERSION__.tar.gz" class = "button downloadbutton" id = "downloadbutton" > INSTALL< / a >
< a href = "download/" class = button id = "all-dl-options" > Downloads< /a
>< a href = "api/" class = "button" id = "docsbutton" > API Docs< / a >
< / div >
< a href = "http://github.com/joyent/node" > < img class = "forkme" src = "http://nodejs.org/images/forkme.png" alt = "Fork me on GitHub" > < / a >
< / div >
< div id = "quotes" class = "clearfix" >
< h2 > Node.js in the Industry< / h2 >
< ul >
< li class = "microsoft" > < img src = "http://nodejs.org/images/microsoft-logo.png" >
< p > Node gives Azure users the first end-to-end JavaScript
experience for the development of a whole new class of real-time
applications.
< br >
< a href = "https://www.windowsazure.com/en-us/develop/nodejs" > Claudio Caldato< / a >
< br >
< span > Principal Program Manager, Microsoft Open Technologies, Inc.< / span > < / p >
< / li >
< li class = "ebay" > < img src = "http://nodejs.org/images/ebay-logo.png" >
< p > Node’s evented I/O model freed us from worrying about locking
and concurrency issues that are common with multithreaded async
I/O.
< br >
< a href = "http://www.ebaytechblog.com/2011/11/30/announcing-ql-io/" > Subbu Allamarju< / a >
< br >
< span > Principal Member, Technical Staff< / span > < / p > < / li >
< li class = "linkedin" > < img src = "http://nodejs.org/images/linkedin-logo.png" >
< p > On the server side, our entire mobile software stack is
completely built in Node. One reason was scale. The second is
Node showed us huge performance gains.
< br >
< a href = "http://venturebeat.com/2011/08/16/linkedin-node/" > Kiran Prasad< / a >
< br >
< span > Director of Engineering, Mobile< / span > < / p > < / li >
< li class = "yahoo" > < img src = "http://nodejs.org/images/yahoo-logo.png" >
< p > Node.js is the execution core of Manhattan. Allowing
developers to build one code base using one language – that is
the nirvana for developers.
< br >
< a href = "http://developer.yahoo.com/blogs/ydn/posts/2011/11/yahoo-announces-cocktails-%E2%80%93-shaken-not-stirred/" > Renaud Waldura< / a >
< br >
< span > Sr. Product Manger, Cocktail< / span > < / p > < / li >
< / ul >
< / div >
< div id = "content" class = "clearfix" >
< div id = "column1" >
< h2 > An example: Webserver< / h2 >
< p > This simple web server written in Node responds with "Hello World" for every request.< / p >
< pre >
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');< / pre >
< p > To run the server, put the code into a file
< code > example.js< / code > and execute it with the
< code > node< / code > program from the command line:< / p >
< pre class = "sh_none" >
% node example.js
Server running at http://127.0.0.1:1337/< / pre >
< p > Here is an example of a simple TCP server which listens on port 1337 and echoes whatever you send it:< / p >
< pre >
var net = require('net');
var server = net.createServer(function (socket) {
socket.write('Echo server\r\n');
socket.pipe(socket);
});
server.listen(1337, '127.0.0.1');< / pre >
<!-- <p>Ready to dig in? <a href="">Download the latest version</a> of node.js or learn how other organizations are <a href="">using the technology</a>.</p> -->
< / div >
< div id = "column2" >
< h2 > Featured< / h2 >
< a href = "http://www.youtube.com/watch?v=jo_B4LTHi3I" > < img src = "http://nodejs.org/images/ryan-speaker.jpg" > < / a >
A guided introduction to Node
< h2 > Explore Node.js< / h2 >
< ul id = "explore" >
< li > < a href = "about/" class = "explore" > About< / a > < br > < span > Technical overview< / span > < / li >
< li > < a href = "http://search.npmjs.org/" class = "explore" > npm Registry< / a > < br > < span > Modules, resources and more< / span > < / li >
< li > < a href = "http://nodejs.org/api/" class = "explore" > Documentation< / a > < br > < span > API Specifications< / span > < / li >
< li > < a href = "http://blog.nodejs.org" class = "explore" > Node.js Blog< / a > < br > < span > Insight, perspective and events< / span > < / li >
< li > < a href = "community/" class = "explore" > Community< / a > < br > < span > Mailing lists, blogs, and more< / span > < / li >
< li > < a href = "logos/" class = "explore" > Logos< / a > < br > < span > Logo and desktop background< / span > < / li >
< li > < a href = "http://jobs.nodejs.org/" class = "explore" > Jobs< / a > < br > < ol class = "jobs" > <!-- JOBS --> <!-- JOBS --> < / ol > < / li >
< / ul >
< / div >
< / div >
< div id = "footer" >
< ul class = "clearfix" >
< li > < a href = "/" > Node.js< / a > < / li >
< li > < a href = "/download/" > Download< / a > < / li >
< li > < a href = "/about/" > About< / a > < / li >
< li > < a href = "http://search.npmjs.org/" > npm Registry< / a > < / li >
< li > < a href = "http://nodejs.org/api/" > Docs< / a > < / li >
< li > < a href = "http://blog.nodejs.org" > Blog< / a > < / li >
< li > < a href = "/community/" > Community< / a > < / li >
< li > < a href = "/logos/" > Logos< / a > < / li >
< li > < a href = "http://jobs.nodejs.org/" > Jobs< / a > < / li >
<!-- <li><a hrfe="http://twitter.com/nodejs" class="twitter">@nodejs</a></li> -->
< / ul >
< p > Copyright < a href = "http://joyent.com/" > Joyent, Inc< / a > , Node.js is a < a href = "/trademark-policy.pdf" > trademark< / a > of Joyent, Inc. View < a href = "https://raw.github.com/joyent/node/__VERSION__/LICENSE" > license< / a > .< / p >
< / div >
< script src = "sh_main.js" > < / script >
< script src = "sh_javascript.min.js" > < / script >
< script > highlight ( undefined , undefined , 'pre' ) ; < / script >
< script >
window._gaq = [['_setAccount', 'UA-10874194-2'], ['_trackPageview']];
(function(d, t) {
var g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src = '//www.google-analytics.com/ga.js';
s.parentNode.insertBefore(g, s);
}(document, 'script'));
;(function(d,n) {
var os = n.platform.match(/(Win|Mac|Linux)/);
var x = n.userAgent.match(/x86_64|Win64|WOW64/) ||
n.cpuClass === 'x64' ? 'x64' : 'x86';
var base = 'http://nodejs.org/dist/__VERSION__/';
var href = 'node-__VERSION__.tar.gz';
var db = d.getElementById('downloadbutton');
var d2;
switch (os & & os[1]) {
case 'Mac':
href = 'node-__VERSION__.pkg';
break;
case 'Win':
href = 'node-__VERSION__-' + x + '.msi';
if (x === 'x64') href = 'x64/' + href;
break;
// TODO uncomment when we have these
// case 'Linux':
// // two buttons: .deb and .rpm
// href = 'node-__VERSION__-' + x + '.rpm';
// var d2 = document.createElement('a');
// d2.href = base + 'node-__VERSION__-' + x + '.deb';
// d2.className = 'button downloadbutton';
// d2.innerHTML = 'INSTALL .deb';
// db.innerHTML = 'INSTALL .rpm';
// db.parentNode.insertBefore(d2, db);
// break;
}
db.href = base + href;
// if there's one download option, then download it at #download
if (location.hash === '#download' & & !d2)
location.replace(b.href);
})(document,navigator);
< / script >
< / body >
< / html >