ぼちぼち日記

おそらくプロトコルネタを書いていることが多いんじゃないかと思います。

Node.js-v1.0 リリースに向けてどうなる?

9/24にサンフランシスコで Dataweek2012のカンファレンスにてNodeSummit が開催されました。ちょうど今朝 Node の Gatekeeper である isaacs のプレゼンがあり、資料を見てみると今後の Node に関する話題(node-v1.0のリリースに向けて)が記載されていたので紹介したいと思います。

オリジナルの資料は http://j.mp/2012-dataweek-state-of-the-node にあります。(Keynote ファイルです。)

今回、今後の展望について述べられている後半のスライドの部分だけ意訳してみます。 (原文は後に引用しています。)

API廃止について、

  • Node が意図的に API を変更する時代は終わった。
  • あなた方のプログラムが今動作しているなら、来年もきっとそれが動作するよう頑張ります。
  • これまでは Node がここまで成熟していくとは誰も期待しなかったでしょう。
  • というわけでNodeのコアを小さいままにしているのです。

Deprecation

  • The days of Node breaking APIs on purpose are pretty much over. We were growing up.
  • If your program works today, we will try hard to make sure it works next year.
  • No one expected Node to be this mature by now.
  • This is why we're kept the core small!

Node v0.9/v0.10 の重要な部分

  • Libuv の Stream 実装をリファクタリングする。
  • Node の Stream API をクリーンアップする。
  • SSL/TLS の向上。
  • Readable stream をユーザランドでちゃんと扱うには難しすぎる。
  • HTTPSサーバの性能が十分出ていない、デフォルトでまだ十分セキュアになっていない。
  • 引き続きrough edges(雑多な部分?)を見つけて取り組む。

Node v0.9/v0.10 Addressing pain points:

  • Libuv Streams refactor
  • Node Stream API cleanup
  • Better SSL/TLS
  • Readable streams are too hard to do properly in userland.
  • HTTPS servers dont perform well, arent secure enough by default.
  • Continuing to find and address other rough edges

Node 1.0

  • libuv のAPIが今のNodeと同じぐらい安定したら、node-v1.0 になります。
  • node-v0.10 の後、たぶん node-v0.12 の後にリリースだろう。まだ確定していない。
  • バージョン番号はマーケティング事項です。ただ単に我々が Node 1.0 と呼ぶ以上の重要な意味を持ちます。 だけどまだ曖昧です。

Node 1.0

  • When libuv is as API-stable as Node is today, then well call that 1.0.
  • Will come after 0.10, maybe after 0.12, not sure yet
  • Versions are marketing. Its important that we mean what we say by them, but it is somewhat arbitrary.

これを読むと Node-1.0 は来年以降になりそうですね。
でもAPI変更について明確な方針が述べられたので、これまで以上に安心してNodeの開発に取り組めるのではないかと思います。