筆者のブログ高橋文樹.comにお問い合わせがあった。「WordPressとRuby on Railsでサイトを作る違いはなんですか」という、2行ほどの挨拶文もないメールだった。
筆者はその返信を書いたのだが、それに対する返事はなかった。世界が私に問いかけてきた。私はそれに答えた。返事がない。ただのしかばねのようだ。ヨーメーン、ワッツアーップ!? このままではせっかくの回答が無駄になってしまうので、皆さんに共有させていただこうと思う。
免責事項
まず、筆者はWordPressに深く関わっており、極力公平になるよう努めるが、どう考えてもWordPressを贔屓してしまうことは人の性としてご寛恕いただきたい。
違うものと違わないもの
できあがるものはWebサイトであり、本質的な違いはない。だが、決定的な違いとして、WordPressはCMS(具体的な製品)であり、Ruby on Railsはフレームワーク(工法)である。
WordPress | Ruby on Rails | |
---|---|---|
うどん | 丸亀製麺 | 釜揚げうどん |
家 | 三井ホームWESTWOOD | 2×4工法 |
料理 | 太肉担々麺 | 四川風中華料理 |
まずこれを理解してほしい。その上で異なる部分を挙げていく。
学習曲線の違い
まず、WordPressとRuby on Railsは学習曲線の違いである。
Webサイト制作における “Hello World!” が「インターネット上に画面を表示すること」であれば、WordPressの方がはるかに簡単である。「Webサイトを作る」ということに関しては、WordPressより簡単なものはこの世に存在しないというのが筆者の意見だ。
レンタルサーバーを借りて「簡単インストール」をクリック、以上である。インストールプロセスの時点で “Hello World” は達成されているのだ。
Ruby on Railsの場合、ローカルホストに表示するぐらいならすぐにできるが、それでもコマンドラインをカタカタ打つ必要がある。
そして、それをインターネット上で表示できるようにするとなると、けっこうな知識が求められる。少なくともVPSでなければ必要なものをインストールできないし、HerokuやEngine YardのようなPaasを使えば手軽(PassengerやらUnicornやらを入れなくていいという意味で)だが、その概念自体を理解できないだろう。そもそも初心者がCNAMEでドメイン設定などできるとも思えない。
したがって、Webサイト構築における初期の段階(なにかを表示する)ではWordPressの方が圧倒的に簡単である。
とはいえ、徐々にWebサイトが成長する、またはtwitterのように「誰かが何かを投稿する」という要件がWebサイトにとって必須な場合、WordPressよりもRuby on Railsの方が高度なことをやる際に理解しやすく、情報を集めるのも簡単である。
また、どうしてもプログラミング言語を学びたくないがWebサービスは作りたいという場合、WordPress以外の選択肢は極端に少なくなる。
かかるコストの違い
コストに関しては、ごく初期の段階ではWordPressの方が安く上がる。月500円から始められるからだ。Railsの場合はVPSを使用することになるので、だいたい1,000円以上となる。
サイトがものすごく流行った場合には、インフラを増強していく必要があるのだが、「WordPressもRailsも大して変わらないし、どっちも大変」というのが筆者の見解である。そうなるとあとはビジネスの収益体制の問題でしかない。インフラを拡大すればするほど儲かっているのであれば、サーバの調達資金などは変動費でしかないし、外部要因(ex. 広告単価の下落)によってアクセスあたりの売り上げが下がっているのであれば、それはもうしょうがない。
得られる報酬の違い
あなたがWebサイトを作るだけでなく、それを生業とするのであれば、次のような違いがある。あくまで相対的な指標かつ筆者の私見であることを留意されたし。
WordPress | Ruby on Rails | |
---|---|---|
案件単価 | 安い | 高い |
潜在需要 | 多い | 少ない |
参入障壁 | 低い | 高い |
もちろん、なにか特別な強みがあればWordPressでも高単価の案件は存在するのだが、全体的に見るとRuby on Railsの方が「大規模な案件」になることが多いと思われる。
ただ、こうした需要はプログラムやフレームワークの根本的な「質」ではなく、外部要因によっても決まってしまうことも念頭においておこう。「国のプログラミング言語として国産言語のRubyが採用されました、政府機関のシステムは全部Rubyで作り直します!」というニューディール政策のようなものが実施されたら、筆者が上記で挙げた違いは根本から覆る。
- 某経済誌では、「平均年収の高いプログラミング言語」としてPerlやCobolなどが挙がっていたが、それは「平均年齢が高いから」である。なんだかんだで日本は年功序列が根強い。
- スタートアップ企業では、NodeJSやGo言語などの新しい技術を採用することがあり、それはその言語自体が新しくて良いということもあるのだが、「なんか新しいことやっている会社」というイメージで採用を楽にするという側面もある。優秀なプログラマーの採用は大変であり、コストがかかる上に、嫌なことがあるとすぐ辞めてしまう。
- もしあなたが特定の技術やコミュニティに愛着がないのであれば、「これから流行って儲かりそうな技術」をきちんと身につける嗅覚は磨いておいた方がよい。ただし、愛がなければ成長もないということは覚えておいてよいだろう。
まとめ
なんにせよ、筆者は「Webサイトを始めたい」という要望に関しては、まずWordPressをお勧めする。その上で、なにかできないことがあったのなら、Ruby on Railsなりを試してみるのも良いだろう。
異論、反論がある方はコメントをお待ちしている。
“WordPressとRuby on RailsでWebサイトを作るのはどう違うのか”への4件の反応
分かり易く具体的な喩えを交えて比較しているので楽しく読めました。ただ、「Webサイトを作る」と言っても、1、「ブログ」や「クールなホームページ」のようなWebサイトも有れば、2、「安価なIoTで取得した大量データを数式設定変えながら回析する」ようなWebサイトも有ります。3、中間的なのが「写真や文章や音楽を投稿して貰い共有する」Webサイトでしょうか…。この記事で対象にしているWebサイトとは、この中の1に限ると言う事でしょうか?
この記事で言っている「WordPressだと簡単」というのはご指摘の通り1ですね。
2に関しては、「大量のログデータの解析」と「そのデータの表示」というのはわけて考えた方がよいと思います。たとえば、Amazon Kinesis(ググって見てください)のようなサービスでログを収集してElastic Searchに取り込み、Kibanaで表示というようなことが行われています。複数のサービスやツールを組み合わせるのはよくあります。
3に関しては、文章中で指摘した通りです。
> したがって、Webサイト構築における初期の段階(なにかを表示する)ではWordPressの方が圧倒的に簡単である。
> とはいえ、徐々にWebサイトが成長する、またはtwitterのように「誰かが何かを投稿する」という要件がWebサイトにとって必須な場合、WordPressよりもRuby on Railsの方が高度なことをやる際に理解しやすく、情報を集めるのも簡単である。
>某経済誌では、「平均年収の高いプログラミング言語」としてPerlやCobolなどが挙がっていたが、それは「平均年齢が高いから」である。なんだかんだで日本は年功序列が根強い。
まずどこの経済雑誌か教えてください。
東洋経済2016年5月号です。
https://togetter.com/li/976046