Help us understand the problem. What is going on with this article?

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

LightSpeedC
TypeScript, JavaScript, Node.js, Java, Rust, Go, C# 等を勉強中。 React (Mithril), socket.io, D3, Leaflet 等で何か作りたいな。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away