質問: node.jsのプログラムをアップロードするだけで動くようになるいわゆる「レンサバ」はまだないといわれました。 小規模サイト制作を受ける場合、サーバサイトのJSは数年はPHPのようにファイルをアップロードするだけでは使えないのでしょうか? するとmeteorなどさらに論外でしょうか?
回答: そもそもRubyやJavaがPHPより優れている場面も多々あり需要はあります。 しかしレンサバは相変わらずPHPのみ(+CGI)です。 Node.jsもレンサバで動く対象とはならないでしょう。 何故なら、PHPはApacheとセットで動作するというかなり特殊な作りをしています。 これはPHPがHTMLをレンダリングすることに特化した言語だからです。 元々パーソナルホームページという名称のテンプレート言語がスタート地点だったので、このような進化を遂げてきたのでしょう。 PHPと同じコンセプトの別言語が出ないかぎり、レンサバでのPHPの天下が揺らぐことは無いでしょうね。 レンサバと呼んでいいものか分かりませんが、 AWSのLambdaというサービスがあります。 Node.jsで書かれたスクリプトと、依存ライブラリをZIPファイルで固めてアップロードすることで、 Lambdaの関数として登録でき、好きなタイミングで実行することが出来ます。 Ajax通信でこの関数を呼び出して動的に使うことも出来ます。 レンサバとは比較にならない程ハードルが高くて、 普段からNode.jsでバリバリやってる上級者しか使いこなせない気もしますが... 注釈 === ※念のため、PHP4や5になりたての頃は、例えばPHPを避ける・オブジェクト指向(笑)と馬鹿にされ続けて来ましたが、 PHPもバージョンを重ねる事で飛躍的に良くなり、速度も改善され、セキュリティーホールも次々と潰れました。 今日日PHPで叩かれるのは関数名くらいのものでしょう。 ※PHPスタンドアローンでも動作します。 しかし、公式サイトにはApache等と一緒に動かしてくださいと書いてあります。 ※その気になれば他の言語もCGIやmod_xxxというApacheのライブラリを使って同じように動かすことは出来ます。 パッケージ管理ツールでApacheをインストールした瞬間使えるのはPHPくらいのものでしょう。 しかし、RubyやJava、Node.js等はApacheに取り込まれる形ではなく、 Ruby on Rails等の別プロセスを立ち上げて高速で動かす事がポピュラーです。 真の力を発揮する事を考えると、レンサバとは相性は悪いのです。