負荷すくねぇ、ブロックねぇ、node.jsは何者だ

 最近railsを学習しており、ふと流行りの言語とフレームワークが気になったので調べた所以下の記事を発見しました。tutorialzine.com
抜粋すると

学習すべき言語・プラットフォームでnode.jsが1位でrubyは6位。
学習すべきフレームワークの1位がAngular.jsで2位がRuby on Rails

 読んでみると2015年はJSでしょ!みたいな感じでJSが全面に出てきており、Ruby on Railsを使っていた自分としては、これでいいのか?と不安になりいろいろ調べてみました。

node.jsは何者だ

Node.jsとは何か?従来のJavaScriptとの違いは? | monopocket blog
上のブログから引用させてもらうと
————– 引用開始 ————–
バックエンドでJavaScriptが動作するには、インタープリターで変換され、 そして実行されなければなりません。これをNode.jsが行います。 内部ではGoogleのV8 VMが利用されています。 V8 VMGoogle Chromeが使用しているJavaScriptの実行環境そのものと同じです。
それに加えて、Node.jsにはたくさんの便利なモジュールが同梱されています。 全てを1から作る必要はないのです。例えばコンソールに文字列を出力するモジュールなどがあります。
つまりNode.jsは、実行環境とライブラリの2つから成っているのです。
————– 引用終了 ————–
となっているので、node.jsは言語ではなくプラットフォームみたいです。言語はJavaScriptですね。サーバーでJSを動かす機能+モジュール(rubyで言うgemみたいな)機能 = node.js 的な感じっぽいです。

っとまあnode.jsのことを調べまくったので、Railsと比較してみたいと思います。

node.jsを使うメリット(railsと比較)

webアプリ開発という前提で、調べた所node.jsを使うメリットは
・スケーラビリティが容易
・リアルタイムに反映したりするアプリが得意(chatみたいな)
が2大メリットだと思います。
他にもメリットはあるとは思いますが、調べた感じこの2つが大きそうです。

デメリット(railsと比較)

・生産性ガタ落ち
だと思います。node.jsを使ってweb開発を進めるにはExpressのようなフレームワークを使うことになると思いますが、なにせ利用者が少なくまだまだ未熟でありrailsの方が洗礼されていると思われるので生産性が落ちることはほぼ確実だと思います。

結局どうするか

railsの問題点としては、スケーラビリティの問題があると思います。しかし生産性の側面ではトップを独走中だと思うので一人で開発してる身としてはこのままrailsで開発していき、万が一スケーラビリティの問題が浮上した場合にnode.jsの手助けを借りるというのがベストなのではないかと思います。