Node.js
表示
![]() | |
作者 | Node.js Developers |
---|---|
最新版 |
0.2.3
/ 2010年10月2日 |
リポジトリ | |
プログラミング 言語 | C++, JavaScript |
対応OS | Mac OS X, Linux, Solaris, FreeBSD, OpenBSD, Windows (Cygwin), webOS |
種別 | アプリケーションフレームワーク |
ライセンス | MIT License |
公式サイト | http://nodejs.org/ |
Node.js はV8 JavaScriptエンジン上でイベント化された入出力を扱うフレームワークである。Webサーバなどのスケーラブルなネットワークプログラムの記述を意図している。
Node.jsはPythonのTwisted、PerlのPerl Object Environment、RubyのEventMachineと同様の目的を持つ。 ほとんどのJavaScriptとは異なり、Webブラウザの中で実行されるのではなく、サーバサイドJavaScriptに関連している。 Node.jsはいくつかのCommonJS仕様を実装している[1]。 Node.jsは対話的なテスト用にREPL(Read-eval-print loop)環境を含んでいる。
例
Node.jsによるHTTPサーバ版のHello world:
var sys = require('sys'),
http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8000);
sys.puts('Server running at http://127.0.0.1:8000/');
ポート番号 7000番で接続を待ち受けて、送信されたデータをエコーする単純なTCPサーバ:
var net = require('net');
var server = net.createServer(function (stream) {
stream.setEncoding('utf8');
stream.on('connect', function () {
stream.write('hello\r\n');
});
stream.on('data', function (data) {
stream.write(data);
});
stream.on('end', function () {
stream.write('goodbye\r\n');
stream.end();
});
});
server.listen(7000, 'localhost');