こんにちは、uni-browserの財前航介です。
本日は、
「Ruby on Railsの流行りは終わったか 」
という切り口から、フレームワーク選定の方法について考えていきたいと思います。
なぜこんな記事を書こうと思ったかというと、以下のようなデータを見たからです。

これは、「Ruby on Rails」というキーワードでの、Google上での検索数の推移をグラフにしたものです。
上記を見ると、Ruby on Railsの人気は単なる一時的な流行りであったかのようにも見えます。
実際のところはどうなのでしょうか。
今、フレームワークとしてRuby on Railsを選択するのは、流行りに乗り遅れているのでしょうか。
この記事では、上記のトレンドを踏まえて、今後私たちが取るべき選択肢について考えていきましょう。
Ruby on Railsの流行りは終わったか

結論から言うと、「流行り」と呼べるものは終わったのではないかと思います。
上記のGoogle Trendsや、その他のデータから見ても、一時のようなRuby on Railsの爆発的な人気は、もはやありません。
流行りが終わった今、Ruby on Railsをやるべきではない?

「流行り」が終わったのかどうかと、「これからもRuby on Railsを使い続けるべきか」ということは、全く別の話だと思います。
この記事を読んで下さっている方は、以下のようなことでお悩みかもしれませんね。
- これからRuby on Railsの学習をはじめるべきか迷っている
- 何か作成したいWebサービスがあり、どのフレームワークで実現するべきかを迷っている
これからRuby on Railsの学習を始めるべきか迷っている
こういった悩みを抱えている方は、きっとエンジニア、もしくは、これからエンジニアになることを志している方でしょう。
結論から言うと、Web系の技術者として仕事をしたいのであれば、Ruby on Railsは一つの有力な選択肢になり得ます。
流行りが終わっているのに、なぜ?
と思われるかも知れません。
しかし今のタイミングこそ、Ruby on Railsを習得すればWeb開発の仕事を獲得するチャンスです。
つい先日(2019年の初め)に、知り合いのIT業界専門のリクルーターの方とお話させて頂く機会がありました。
その方は、
「今Web系の開発の仕事をやりたいのであれば、Ruby on Railsをやるべきだ」
とおっしゃっていました。
なぜかと言えば、爆発的な人気があった際に、多くのWebシステムがRuby on Railsを用いて開発され、現在でも多くの案件が存在するからです。
現在、
「3大Webフレームワーク」
と呼ばれているのは、
- Ruby on Rails(Ruby)
- Django(Python)
- Laravel(PHP)
ですが、
Djangoにしても、Laravelにしても、一時期のRuby on Rails程の爆発的な人気を経験したことはありません。
つまり、まだ案件が少ないのです。
正直「新しい技術」というのは聞こえは良いものの、「案件数」という意味では、あまり恵まれていないことがほとんどです。
(新しいのですから、使用事例がなくて当たり前ですね。)
かといって、あまり古い技術だと、
淘汰されるのが時間の問題
という状況になりかねません。
つまり、Ruby on Railsの市場が成熟した今こそ、Ruby on Railsの技術があれば、Web開発の仕事を自由に獲得できる土壌が整ったと言えます。
つまり、流行りやタイミングという意味では、決してRuby on Railsを習得する意味がないような時期ではないということです。
それを踏まえた上で、以下で説明するようなRuby on Railsの特性を知り、目的に合わせて学習するフレームワークを選ぶのが良いでしょう。
何か作成したいWebサービスがあり、どのフレームワークで実現するべきかを迷っている
- Ruby on Rails
- とにかく「レール」に沿って、簡単・高速にWebアプリケーションが開発できる
- ブラックボックスな部分もあるが、ルールさえ覚えれば、最小の記述でWebアプリケーションが作れる
- Django
- Pythonの機械学習ライブラリと連携ができる
- Ruby on Railsのような魔法の自動生成はできない
- Railsほどブラックボックスになっておらず、いちいち自分で記述する
- Laravel
- 歴史あるPHPによって開発ができる
- Ruby on Railsほどレールが敷かれていない分、自由な開発ができる
- 自由ということは、自分で設計を考えなければならず、開発初期に時間がかかる
Ruby on Railsは簡単・高速にWebアプリの開発ができる
もしあなたが求めているのが、Webアプリケーションのアイディアを、少ない工数でササッと実現することであれば、Ruby on Railsを採用するべきでしょう。
しかしこれは、メリットと同時にデメリットと言える部分でもあります。
Ruby on Railsは、記述するコード量を極限まで減らしているため、ブラックボックスになってしまっている部分が多いのです。
つまり、レールに乗って開発しているうちは、非常に簡単に、高速に開発ができるのですが、レールを外れたことをやろうとすると、ブラックボックスの中を解析せねばならず、中々難しい部分があります。
あなたがフレームワークに求めているのが、
とにかく早く動くWebアプリケーションを作りたい
ということなのか、それとも、
時間や工数をかけてでも、特殊な処理や、細かい中身のチューニングも含めて開発を行いたい
ということなのかによって、Ruby on Railsを採用すべきか否かが決まります。
決して、流行りによって決めるべきではありません。
もちろん、機械学習の処理を取り入れたいのであれば、その分野ではPythonが圧倒的ですから、Djangoなどのフレームワークを用いるのが良いのでしょう。
まとめ: 「流行り」ではなく、Ruby on Railsの特性を理解した上でフレームワークを選定しよう

前提として、
「ずっと流行り続ける技術」
というものは存在しません。
Google Trendsなどを見て頂ければ分かるかと思いますが、どんなに一世を風靡した技術でも、グーンんと伸びて、緩やかに衰退していきます。
つまり、今どんなに流行っている技術でも、いつかは古い技術になるのです。
IT・Webシステムを作るからには、何か目的があるはずです。
「楽しいから作る」場合もあるでしょうが、多くの場合は、ユーザーに何か価値を提供することが目的となります。
それを実現する為に、とにかく早く、工数をかけずに開発を行うことが必要とされるのか、その他の付加価値をそのシステムに持たせるのかは、ビジネス自体の戦略にも関わる部分です。
「流行り」ではなく、あなたのビジネスに最も適したフレームワークをあなたが習得し、素晴らしいWebエンジニアライフを送れることを祈っております。
Ruby on Railsのメリット・デメリットに関しては、以下の過去記事にも詳しくまとめておりますので、よろしければご参照下さい。
Ruby on Railsのメリット・デメリット【初心者にもわかりやすく解説】>>
コメント