Ruby on Railsの流行りは終わったか 【フレームワーク選定の方法】

2019年1月10日木曜日

Ruby on Rails

Ruby on Railsの流行りは終わった?

こんにちは、uni-browserの財前航介です。

本日は、
「Ruby on Railsの流行りは終わったか 」
という切り口から、フレームワーク選定の方法について考えていきたいと思います。

なぜこんな記事を書こうと思ったかというと、以下のようなデータを見たからです。

Google Trends Ruby on Rails

これは、「Ruby on Rails」というキーワードでの、Google上での検索数の推移をグラフにしたものです。

上記を見ると、Ruby on Railsの人気は単なる一時的な流行りであったかのようにも見えます。

実際のところはどうなのでしょうか。
今、フレームワークとしてRuby on Railsを選択するのは、流行りに乗り遅れているのでしょうか。

この記事では、上記のトレンドを踏まえて、今後私たちが取るべき選択肢について考えていきましょう。


Ruby on Railsの流行りは終わったか

Ruby on Railsの流行りは終わったか

結論から言うと、「流行り」と呼べるものは終わったのではないかと思います。

上記のGoogle Trendsや、その他のデータから見ても、一時のようなRuby on Railsの爆発的な人気は、もはやありません。


流行りが終わった今、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その他のフレームワークで見てみると、やはり大きな特徴は、

Ruby on Railsは簡単・高速にWebアプリの開発ができる

ということですね。


もしあなたが求めているのが、Webアプリケーションのアイディアを、少ない工数でササッと実現することであれば、Ruby on Railsを採用するべきでしょう。


しかしこれは、メリットと同時にデメリットと言える部分でもあります。

Ruby on Railsは、記述するコード量を極限まで減らしているため、ブラックボックスになってしまっている部分が多いのです。

つまり、レールに乗って開発しているうちは、非常に簡単に、高速に開発ができるのですが、レールを外れたことをやろうとすると、ブラックボックスの中を解析せねばならず、中々難しい部分があります。


あなたがフレームワークに求めているのが、
とにかく早く動くWebアプリケーションを作りたい
ということなのか、それとも、
時間や工数をかけてでも、特殊な処理や、細かい中身のチューニングも含めて開発を行いたい
ということなのかによって、Ruby on Railsを採用すべきか否かが決まります。

決して、流行りによって決めるべきではありません。


もちろん、機械学習の処理を取り入れたいのであれば、その分野ではPythonが圧倒的ですから、Djangoなどのフレームワークを用いるのが良いのでしょう。


まとめ:
「流行り」ではなく、Ruby on Railsの特性を理解した上でフレームワークを選定しよう

「流行り」ではなく、Ruby on Railsの特性を理解した上でフレームワークを選定しよう

前提として、
「ずっと流行り続ける技術」
というものは存在しません。

Google Trendsなどを見て頂ければ分かるかと思いますが、どんなに一世を風靡した技術でも、グーンんと伸びて、緩やかに衰退していきます。

つまり、今どんなに流行っている技術でも、いつかは古い技術になるのです。


IT・Webシステムを作るからには、何か目的があるはずです。

「楽しいから作る」場合もあるでしょうが、多くの場合は、ユーザーに何か価値を提供することが目的となります。

それを実現する為に、とにかく早く、工数をかけずに開発を行うことが必要とされるのか、その他の付加価値をそのシステムに持たせるのかは、ビジネス自体の戦略にも関わる部分です。


「流行り」ではなく、あなたのビジネスに最も適したフレームワークをあなたが習得し、素晴らしいWebエンジニアライフを送れることを祈っております。

Ruby on Railsのメリット・デメリットに関しては、以下の過去記事にも詳しくまとめておりますので、よろしければご参照下さい。
Ruby on Railsのメリット・デメリット【初心者にもわかりやすく解説】>>