以下斜め読んだ内容

pseudo translation of useful posts, book reviews, remarks,etc. twitter: feeddict

Jolie O'Dell「みんなNodeの話してる理由」

  • mashable.com 2011.3.10のエントリ
  • node使った商用サービスMockingbird(6万ユーザ)の存在を知れてよかった

Why Everyone Is Talking About Node

以下斜め読んだ内容
  • 低レイテンシのリアルタイムアプリ
  • 敷居が低い
  • ウェルカムなギスギスしてないコミュニティ
    • rubyコミュを比較
  • ギーク色の薄いデザイナーに「も」魅力
  • Tom Hughes-Croucherにきいたりnode使ってるスタートアップ3社にきいたり
  • ある特定のwebアプリ開発にはnodeとても向いてる
  • event-drivenなプログラミングを一気に広めたnode
  • event-drivenプログラミングの効用
    • リソースを低くできる
    • 必要なサーバも減らせる
  • nodeが向いてるアプリ
    • 低レイテンシ
    • event driven
    • 大量の同時接続数
  • facebookのチャットサーバはErlangで開発
  • FriendfeedはTornado/pythonで開発
  • nodeとErlang/Tornadoの得意分野はかぶる
  • 敷居の低さではnodeに軍配
    • 誰もが使えるjavascript
    • 言語を覚える手間がない
  • DBとのやりとりがアプリでリソース食う部分
  • nodeのフットプリントは小さい
  • apacheだと8mb/user
  • nodeだと8kb/user
  • DBとのやり取りでプロセス中のリソース割り当てる場面
    • 他だと事前に割り当て。問い合わせに50msかかるなら、50ms割り当てっぱなし
    • nodeだと必要になったときに割り当て。node効率いい
  • node急成長
  • php/rubyと違う広まりをしてるnode
  • 大規模サービスやアプリで採用されて広まってわけじゃない
  • 開発者たちの心を捉えて広まった
    • 「nodeって知ってる」「nodeでなんか作ったことある」といたるところで語られてくように
  • githubのコミット数。nodeのコミットのピークは2010年春
  • twitterのタイムライン。開発者内で継続的に話題に上るようになっていったのは、2011年移行
  • githubでnodeが人気。railsに匹敵
  • view数比べると、rails27万ビュー、node32.5万ビュー
  • nodeは次世代のrails
  • 大量の同時接続とリアルタイム性が必要なアプリを作りたがってる。google instantやfacebookレベルのもの
  • 今必要なアプリとレガシーなフレームワークでやろうとすると、金と時間かかりすぎ
  • nodeのいいとこは、速い、楽々スケール、jsゆえに開発簡単。
  • node使ってるスタートアップVoxer
    • iOSアプリ
    • walkie-talkieににてて、チャットしたり会話したり音楽聞いたりとかできる
    • push notification使ってチャットのリクエストさばく
    • node使ってる。低レイテンシの音声データの転送に向いてる。「ほぼリアルタイム」の音声データ通信
    • 音声はリアルタイムこそふさわしい。大量の接続を低レイテンシで処理できるnode
    • nodeはvoxerのver.3
    • 最初はc++で開発。複雑すぎ拡張が大変でやめた。次にpython。気に入ってた。でもVMが超遅くて残念。今はnode
    • nodeで高級言語での開発と高速なVMの両方を手にできた
  • nodeの48時間hack-a-thonあった
  • winnerの Scrabb.ly
    • MMOゲーム。Scrabbleのオンライン版。
    • 開発チームはこのゲームアプリで会社作った
  • 48時間hack-a-thonといえば、rails rumble。
  • rails rumble5年やってるけど、会社化したチームは1つだけ
  • node knockoutは1年目から会社化したチーム出た
  • Lazeroidsはnode knockoutのfounder(=Suyderhoud)が2009年のrails rumbleで作ったやつ
    • railsでリアルタイムゲームアプリ作るのきついね、という結論だした
    • リアルタイムゲームの土俵では、nodeは敵なし状態、とSuyderhoud
  • 他の技術だとバックエンドはレガシーという折衷型
  • nodeは根本から作り直されてる。リアルタイムアプリや開発しやすさに最適化されたデザイン
  • node knockoutの中の人としてサポートとか全然できなかった。けど参加者たちが相互にヘルプしあう空間ができた。これはとてもラッキー
  • 紹介nodeアプリ、Mockingbird
    • デザイナ向けツール。モックアップが簡単につくれる
    • Mockingbirdは、ベータ版リリースまでに1か月で開発。2009.12ベータ、2010.12課金開始
    • nodeアプリでお金を稼げる事例
    • 現在6万ユーザで10万プロジェクトがホストされてる
    • 最初はTwisted/Tornado/pythonで開発してた。nodeの方がぐっと楽々になった
  • nodeの今後?
    • twitter/facebookとかで使われればnodeメインストリーム入りするかも
    • nodeに限らず誤解が生まれると色々リスクあり
      • TwitterエンジニアAlex Payneの「遅いよRuby」発言はいまだに影響力もってる
    • 色眼鏡なしでnode見るの大事