はじめに
この記事は Node.js Advent Calendar 2016 - Qiita の 23 日目です。
東京 Node 学園祭 2016 からもう一ヶ月以上経ってしまったのですね。
ゲストスピーカーとして登壇してくださった @jasnell がさらっと紹介してくれていましたが、進捗についてもう一度振り返ってみたいと思います
この実装が Node.js の core に入るか、module として切り出すのかは現在のところ決まっていません
東京 Node 学園祭 2016 の動画は こちら
気がつけば忙しかったり疲れていたりで jasnell とまったく話せていなくて軽くショックでした 💦
nghttp2
登壇時にも言っていましたが
nghttp2 is without question the best HTTP/2 library implantation available.
と日本の二大 HTTP/2 実装のうちの一つ nghttp2 をべた褒めしているのは本当に嬉しいです
@tatsuhiro_t さんは HTTP/2 の RFC draft 初期の頃から reference 実装として ietf の workgroup を引っ張ってきた実績のある方なのです
(もう一つは @kazuho さんの h2o ですよ)
Node.js の HTTP/2 の実装はこの nghttp2 を library として bind しています
build
上記 Repository を clone して ./configure && make
するだけです。Python が 2.6 か 2.7 という制限があったりするのでお気をつけください
詳細は こちら
Code And Learn に参加された方はご存知ですよね!
(ああ、Japan のディレクトリ作って参加者の方に自己紹介 pull-request してもらえばよかったのでは…?)
Hello world を動かす
./node index.js
とかで実行。HTTP/2 をサポートしたブラウザでアクセスすると HTTP/2 で通信してくれます。やったね!
Example には Server Push もありますが、まだこれは動かないようです
http2/http2-implementation-notes.md at master · nodejs/http2 · GitHub
まだまだ書きかけのドキュメントですが、これから実装されていくと思うとワクワクしますね!
TODO List
issue にありました
この issue の最後で言っている design doc は先ほど紹介したドキュメントなのかな?
Project の進め方
今現在は Round7 ですが、こまめに goal を決めて実装していっているようです
こういった進捗管理も参考になりますね
終わりに
Node Interactive NORTH AMERICA でも発表があったようです
まだまだやる事はありそうなので何か手伝えたら良いなと思っております
それではみなさん npm xmas !