Node.jsの使いどころ

最近使ってるNode.jsの使いどころについて、現時点の考えをメモ。たぶん、散々既出の議論だろうけど。

  • Node.jsのパフォーマンスを最大限に発揮するには、あらゆる処理を非同期化する必要がある(EIO/子プロセス化など)。
    • 素のHTTPリクエストにはHTMLの枠とJS/CSSだけを返して、コンテンツはJavaScriptで非同期に読み込む「BigPipe」スタイルは大得意。
    • SNSなどでのメッセージングなど、所謂「リアルタイムWeb」ではサーバサイドも非同期化せざるを得ないので、非同期処理を基本とするNode.jsは「リアルタイムWeb」という技術ドメインの王者になる可能性は高い
  • 一方、既存のWeb系技術ドメインにおいてはPerl/PHP/Python/Ruby...を置き換えるようなものでは無いと思う。
    • 「リアルタイムWeb」は素晴らしいが、(現在は)アクセシビリティなどの面で難があるので、「リアルタイムWeb」が採用されるとしても、部分的になるはず。
    • 非同期な処理はテストなども大変だし、リアルタイム性を求められない部分ではオーバースペック。
    • ちゃんとしたモノを作ろうとすると割高になるかも(工数/人の確保とか)
      • 適材適所で既存のWeb技術と棲み分けする
  • むしろ、非同期処理と親和性が高いのでバックエンドでの処理系に相性がいいのでは?