LoginSignup
52

More than 5 years have passed since last update.

Node.js + co + koa の勧め

Last updated at Posted at 2014-02-01

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

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52