Edited at

Node.js + co + koa の勧め

More than 5 years have passed since last update.

Node.js


そろそろ Node.js が成熟する頃ですね

Node.js が、もうすぐ成熟する時を迎えています。

ちなみにバージョン 1.0 はまだ出ていません。

2014年1月時点で 0.11.11 までですね。


JavaScript のコールバック地獄

JavaScript のコールバック地獄から

やっと開放されることになりそう。

コールバック地獄とは↓こういうのネ。

get("a.txt", function(a) {

get("b.txt", function(b) {
get("c.txt", function(c) {
console.log(a + b + c);
});
});
});

Node.js の co を使うと↓こんな感じになるよ。

co(function*() {

var a = yield get("a.txt");
var b = yield get("b.txt");
var c = yield get("c.txt");
console.log(a + b + c);
})();

ちょっと良くない?

JavaScript の非同期プログラミングという

一番醜い所を綺麗に見せてくれる。

これならやっと人に勧められそうな気がする。

※記事を書いた → [JavaScript] 非同期処理のコールバック地獄から抜け出す方法 - Qiita


ちょっと過激目な予告

それで個人的な予告:


Express は段階的に無くなるのではないか。


もしかすると、終焉を迎えることになるのではないか。

言い過ぎか...


Koa に移行しよう

co ベースの新しい Koa に移行しましょう。

まだバージョンは 0.3.0 だけどね。

まだ早過ぎるかなぁ。


ES6 yield (generators)

やっぱり ES6 の yield (generators) が

今後のキーテクノロジになると思うよ。

見た目は他の言語の generators だし

C# の async/await っぽいけど

スレッドを使用しない所がミソだよ。

ブロックしないんだよ。

JavaScript はシングルスレッドなんだよ。

言わば Windows 3.1 だよ。(笑

VMS の $QIO + AST だよ。(笑


Node.js は省エネで超エコ

Node.js は省エネで超エコなシステムが構築できるよ。

省メモリ。省リソース。

省スレッド。省コンテキストスイッチング。

C10K も OK だよ。

今時の SNS やチャットが

静かな常時接続で実現できる。

こういうところだけが、

私が Node.js 推しである

唯一の理由なんです。


参考

http://www.infoq.com/jp/news/2014/01/koa-0.2.0-release