Node.js + co + koa の勧め


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 推しである
唯一の理由なんです。

参考