RailsとLaravelの特徴とは?有名フレームワークの特徴を4つの観点から比較検証!

RailsとLaravelの特徴とは?有名フレームワークの特徴を4つの観点から比較検証!

プログラミング学習が進むと、Ruby on RailsやLaravelといったフレームワークを学ぶ機会が出てきます。

「フレームワークって何だろう?」
「それぞれどんな特徴があって、学びやすいのはどっちなのかな?」
「転職で求人数が多いのはどっちなんだろう?」

そんな誰もが気になることを、最新のIT情報を発信している海外サイトnetguruの記事の内容を元に解説していきましょう。

Netguru_official

本記事では代表的なフレームワークとしてRuby on RailsとLaravelを取り上げて、いくつかの点から比較します。読み終わる頃には、自分に合ったフレームワークの選び方がわかりますよ。

目次

フレームワークとは、楽に開発するためのひな形

そもそもフレームワークとは、何のことか知っていますか?フレームワークは、普段からよく使用するプログラムをまとめて、システム開発を楽チンに進めるためのひな型です。Webアプリケーションの開発や保守を効率よくすることを目的に、つくられています。

  • データベースへの接続
  • ユーザー認証/承認、またはFacebookやStripeなどのサードパーティサービスとの統合
  • 数回のクリックで大​​きなコードセクションを生成

フレームワークには、こういったプログラムがあらかじめ準備されているんです。フレームワークを活用しないなんてもったいないですね。プログラミングに慣れてきたら、ぜひフレームワークにチャレンジしてみましょう。

Rubyフレームワークの王道:Ruby on Rails

Rails_top_page

「開発者にやさしい言語」と称されることが多いRubyで書かれた、非常に人気の高いフレームワークがRuby on Railsです。2004年にDavid Heinemeier Hanssonによって公開されたのが始まりで、最新バージョンは6.0です。

ウェブ職人のためのPHPフレームワーク:Laravel

Laravel_top_page

2011年にリリースされたPHPベースのフレームワークがLaravelで、2019年9月初旬にLaravel 6がリリースされたばかりです。「ウェブ 職人のためのフレームワーク」「美しいコードを愛する人々」というキャッチコピーが有名です。

 

Rubyの可読性の高さを考えると、「美しいコードを愛する人々」というキャッチコピーはRailsエンジニアにもあてはまりそうな気もしますね。

検証1:Rubyは遅い?PHPはメンテが難しい?噂の真相は?

フレームワークの違いを説明する前に、まずは噂を検証してみましょう。Railsが記述されているRubyも、Laravelが記述されているPHPも、とても人気がある言語です。しかし過去には、こんな問題をそれぞれ抱えていたんです。

Rubyは遅い!と非難されていた

遅い

Rubyはプログラムを書けるスピードが速い反面、実行速度が「遅い」と非難されてきました。こんな極端な仮定を立てられてしまうほどです。

Ruby は生産性が高い言語と言われることが多いので、プログラムを作る早さは早い、という評価が一般的です。

Cで書くと2日かかる。実行時間は0.1秒
Rubyで書くと1日かかる。実行時間は10秒(Cの100倍)

と、すこし極端な仮定を置いてみると、どっちが得でしょうか。

引用元:なぜrubyは他の言語と比べて遅いのでしょうか? – Quora

また、Rubyには有名なTwitterのエピソードがあります。

当初Twitterの開発には、Ruby on Railsが使われていたんです。サービスが人気になるとともにユーザーが世界各地に爆発的に増えました。さらに、大量のツイートが瞬間的におこなわれるとパフォーマンスの問題が出てきてしまいます。

天空の城ラピュタがテレビでオンエアされたときに「バルス!」と呟いて楽しんだ人もいるでしょう。FIFAワールドカップをテレビ観戦しながら、応援しているチームがゴールした喜びをシェアしたくて「ゴーーール!」と呟いた人もいますよね。たくさんの人が同じタイミングで一斉に呟くと、Twitterはたちまち処理能力の限界を超えてしまいました。

「ツイッターは処理能力の限界を越えています。」というメッセージが添えられた、こんなクジラの絵に遭遇した人も少なくないはずです。

https://twitter.com/Twitter/status/1047864949744140288?s=20

Twitterのエンジニアチームは組織再編成のうえ、サイトの再設計を検討せざるを得なくなってしまいます。さらにその先を知りたい人は、TwitterのエンジニアがNew Tweets per second record, and how!で綴っていますので、読んでみてくださいね。

なお、2004年から 2018年の間にRubyのパフォーマンスは劇的に改善しているので、これから学ぶ人は安心してください。しかしこのTwitterの件で、「遅い」というイメージが根付いてしまいました。

PHPはメンテナンスしづらいと認識されてきた

PHPは1990年代初頭、インターネット創世記から存在していました。初期にPHPで実装されたプログラムは、スパゲッティプログラムなんて揶揄されるほど、整備されていないものが少なくありませんでした。そのため、多くのエンジニアから「PHPはメンテナンスしづらい」と認識されてきたんです。

しかし現在では、FacebookをはじめとするWebアプリケーションで多く使われています。実際しっかりメンテナンスできることの証拠といえますね。

 

検証1では、RubyとPHPの噂の真相を調べてみました。Rubyは遅い、PHPはメンテナンスに難ありというどちらの噂も、すでに解消されているといえそうですね。

検証2:Rails?Laravel?人気が高いのはどっち?

次はRailsとLaravelの人気の高さを比べてみましょう。

開発コストの観点からプログラミング言語やフレームワークを比較するとき、どのくらいの規模のコミュニティがあるのかは、見過ごせない重要なポイントです。まずは、それぞれの言語のランキングから見てみましょう。

サーバーサイド言語ランキング

W3Techsのサーバーサイド 言語ランキングを見ると、PHPがダントツで第1位です。

サーバーサイド 言語ランキング

サーバーサイド言語ランキング第1位:PHPは初心者が学びやすい言語

PHP_logo

PHPは、初心者に学びやすい言語と言われています。Rubyと比較すると複雑だと感じる人もいるでしょう。しかし抽象度が低めで、海外では教育カリキュラムに入っていることが多いようです。

サーバーサイド言語ランキング第4位:Rubyは英語に似ている言語

Ruby

Rubyは構文が英語に近く、比較的習得しやすい言語です。その証拠に、一部のコードは文章のように読むことができるんですよ。

 

RailsもLaravelも、サーバーサイド言語ランキングで上位を占める言語のフレームワークですから、人気が高いのは当然ですよね。その証拠に、インターネット上ではそれぞれ巨大なコミュニティが構築されています。

では、実際にそのフレームワークを使っている人はどのくらいいて、コミュニティの規模、転職のニーズはどのくらいあるんでしょうか。主要なサイトから具体的な数値で見てみましょう。

検索頻度から人気度を知ろう:Googleトレンド

Google_trend_201909

Googleトレンドで計測できるすべての国を対象にして調べると、Laravelの検索件数がRuby on Railsをはるかに上回っています。

Q&Aサイトでタグのついた投稿数を見てみよう:teratail

teratailはITエンジニアのQ&Aサイトです。teratailではタグの数で比べてみましょう。

Terarail_tags

するとRailsは9.819投稿、Laravelは2,824投稿です。teratailではRailsの方が圧倒的に質問が投稿されていることがわかります。

知識共有の多さを見てみよう:Qiita

Qiitaは、エンジニアリングに関する知識を記録・共有するサイトです。Qiitaでは、フレームワーク名で検索した結果の数を見てみましょう。

Rails_Qiita

まずRailsで検索をすると、ヒットする検索結果は28,159件。かなりありますね。右側の関連タグを見ると、フォロワー数は23,526です。

Laravel_Qiita

Laravelも同様に調べてみましょう。検索結果は7,070件、フォロワー数は2,192とRailsと比べると少なめです。

Qiitaでは、Railsの方が知見が多く共有されていて、フォロワー数も10倍も多いという結果が出ました。

英語圏のサイトでのコミュニティの規模を見てみよう:reddit

redditはニュース記事や画像、テキストを投稿してコメントをやり取りするサイトです。英語圏を中心としているので、teratail、Qiitaとは違った結果が出そうですね。redditでのRailsとLaravelのコミュニティの規模を見てみましょう。

rails_reddit

Railsで検索すると、redditのRailsのコミュニティに所属しているメンバー数が37,700人だとわかります。

laravel_reddit

同様にLaravelでも検索すると、コミュニティに所属しているメンバー数は36,400人です。

わずか1,000人の差ですが、redditでのコミュニティはRailsの方がメンバー数が多いという結果でした。

英語圏のQ&Aサイトでの投稿数を見てみよう:Stack Overflow

Stack OverflowはエンジニアによるエンジニアのためのQ&Aサイトです。こちらも英語圏が中心なので、日本中心のサイトとは違う結果が見られそうです。

rails_Stack_Overflow

まずrailsで検索してみると、投稿されている質問数はわずか500件でした。意外と少ないですね。

laravel_Stack_Overflow

次にLaravelで検索してみると、同じ検索窓から検索しているのに、Laravelのタグがついた質問数が自動的に結果に表示されました。その数はなんと124,844件。

Stack OverflowではダントツでLaravelの質問数が多いという結果になりました。

転職市場での需要を有名求人サイトで見てみよう

最後は、転職市場での需要について調べてみましょう。具体的な求人件数を国内有名求人サイトで調べてみると、以下のような結果になりました。

Rails_laravel_wanted

(2019年9月5日調べ)

DodaWantedlyGreenの3社で確認しましたが、数値を見る限りRailsがかなり優勢ですね。

ちなみにRailsはスタートアップ企業に比較的採用されやすい傾向があり、Laravelに関しては、すでにPHPを業務で使っている企業が後から導入を始める傾向があるようです。そのため、業務でLaravelが使われていても、新しい人材を探す必要がないなどの理由で求人数に反映されにくいのかもしれません。

 

検証2ではRailsとLaravelの人気の高さを比べてみました。結果をまとめるとこのようになります。

rails_laraavel_popularity

国内のサイトや求人数ではRailsが優勢で、サーバー言語ランキングやGoogleトレンド、海外のQ&AサイトではLaravelが優勢という傾向がわかりました。一概にRailsとLaravelのどっちの人気が高いとはいえなそうです。

検証3:Rails?Laravel?活用しやすいフレームワークはどっち?

次は、活用しやすいフレームワークはどっちなのかを見るにあたって、それぞれの言語のライブラリの充実度に着目してみましょう。

ライブラリとは、汎用性の高い複数のプログラムを再利用可能な形でまとめたものです。先輩エンジニアが開発した便利なプログラムを、同じ言語で開発しているエンジニア全体に対して提供しているんですよ。これって素晴らしい文化ですよね。外部ライブラリを使用すれば、経験値の浅いエンジニアでも複雑なコードを書かずに機能を実装できるんです。

すでに準備されているライブラリの数は、Railsが記述されているRubyと、Laravelが記述されているPHPではどちらが多いのでしょうか。

Rubyでは、15万件以上の種類豊富なgemが提供されている

gem_top_page

Rubyのライブラリはgemと呼ばれています。 英語で「宝石」という意味なんですよ。ちょっとロマンチックじゃないですか?

Rubyでは、コミュニティによって開発されたgemの膨大なライブラリを称賛されることが多く、こんな格言があるほどです。

“There is probably a Gem for everything”
~どんなプログラムも、すべてgemに用意されているはず。

ちょっと大げさに聞こえますよね。でもこれは真実といえるんです。

もし、ある機能のためのgemがないと見つかれば、どこかのRubyエンジニアがそのgemを作っていつか公開するはず。そうエンジニアの間で信じられるほど、gemは種類も豊富で充実しているんです。

gemの一例
ユーザーの承認を提供
アプリケーションでのユーザーのロールと能力を管理
テストの出力を虹色に変更

2019年9月現在、15万4千を超えるgemが提供され、gemのダウンロード総数は400億回を優に超えています。

PHPでは、たった7年のうちに23万件以上のパッケージが提供されている

composer_top_page

1990年代に登場してから20年近く、PHPにはライブラリのバージョンや依存関係を管理する方法がありませんでした。

2012年、ようやくPHPのパッケージ管理システムComposerがリリースされて状況が変わります。PackagistというComposerのメインリポジトリを使うことで、PHPのエンジニアはライブラリのインストールやバージョン管理ができるようになったんです。

Composerが登場してからまだ7年間しか経っていません。しかし2019年9月時点ですでにPackagistには23万8千を超えるパッケージが登録され、インストールされた総数は173億回以上を記録しています。

Packagist_top_page

 

なお、一部のライブラリは使えるフレームワークを限定しているので、すべてのライブラリがRailsもしくはLaravelで使えるわけではありません。しかしそれぞれのライブラリの全体数を見れば、RailsでもLaravelでもライブラリを活用して開発できる可能性が無限に広がっていることがわかりますね。

検証3ではRubyとPHPのライブラリの充実具合から、フレームワークの活用のしやすさを比較してみました。RailsもLaravelも活用のしやすさは申し分ないといえそうです。

検証4:Rails?Laravel?学習サイトが充実しているのはどっち?

最後は学習サイトがより充実しているのはRails、Laravelのどっちなのかを見てみましょう。

Railsのオススメ学習サイト4選

1, 親しみやすさ&わかりやすさが人気の秘訣:Progate

Progateは、初心者向けのプログラミング学習サイトです。イラストでの図解がとてもわかりやすくて人気があるんですよ。

ProgateではRuby on Rails5の学習コースが用意されていて、基礎知識からSNSのログイン・ログアウト、投稿とユーザーの紐付け、いいね機能、パスワードの暗号化までをしっかりと学べます。

2, 短い動画で効率よく学べるサイト:ドットインストール

ドットインストールは、3分動画でマスターするプログラミングサービスを提供している学習サイトです。たった3分間の動画は内容がとても濃密で、効率的に学びたい人にはとてもオススメです。

全28回のRuby on Rails5入門の動画レッスンが用意されており、Railsのインストールからアプリの完成まで動画を観ながら学習を進められますよ。

3, インターン研修にも使われる学習サイト:シラバス

シラバスtop_pageシラバスは、マネするだけで学べる学習サイトです。文章を読み進めて進めるタイプの学習サイトなので、自分のペースで進めたい人にピッタリですね。

「はじめてのRailsアプリ 2chの簡易クローンアプリを作る」というレッスンが用意されています。Web IDEを使って進められるので、環境構築の必要もなく手軽に学習が始められますよ。インターン研修でも使われている教材なので、しっかりマネをして役立てましょう。

4, Railsエンジニアの登竜門:Ruby on Railsチュートリアル

Railsチュートリアル

Ruby on Railsチュートリアル(通称:Railsチュートリアル)は、Railsエンジニアの登竜門といわれるほど有名な教材です。筑波大学、琉球大学などの大学だけでなく企業でも採用されているんですよ。挫折者も少なくないといわれるので、しっかりと基礎知識を身につけてからとりかかりましょう。

こちらもチェック
東京フリーランス CTOのとだこうき(@cohki0305)が執筆中の30daysトライアルでは、Ruby on Railsが取り上げられています。

https://tokyofreelance.jp/daily-trial-rails2/

Laravelのオススメ学習サイト4選

1, 楽しみながらしっかり学べる:paizaラーニング

paiza-top

paizaラーニングは、動画で学べる総合学習サイトです。積極的にキャラクターや声優を起用して、学習を楽しく進めるような工夫がされているんです。

Webアプリ開発入門 Laravel編には全5レッスンが用意されています。基礎から学びながら「ランチマップ」アプリが作れますよ。環境構築せずに学習を始められるのでとても手軽なのがありがたいですね。

2, ほんの3分間の積み重ねで学ぶ:ドットインストール

Railsの学習サイトとしても紹介したドットインストールでは、Laravelの学習サイトとしても外せません。

Laravel5.5入門の動画レッスンでは、PHPやLaravelのインストールからWebアプリ内の記事とコメントの紐付け、コメントの保存と削除、外部キー制約の設定など全31回に渡る内容が用意されています。

たった3分間ながら濃密な動画学習のため、効率的に学びたい人にはとてもオススメです。

3, 周辺知識も充実の入門者向けサイト:Laravel学習帳

Laravel_gakusyucho_top_page

Laravel学習帳は、Laravelに特化した学習サイトで、文章を読みながら学習するスタイルをとっています。

チュートリアルだけでなく、早見表や周辺知識についても記事がまとまっているので、知識の整理にとても役立ちますね。情報更新頻度は高めなので、ぜひ活用したい学習サイトです。

4, Laravel公式が認めるチュートリアル:Laracasts

Laracasts_top_page

Laracastsは、Laravelを中心にSQL、PHPなども学べる学習サイトです。情報更新をほぼ毎日おこなっているため、今月初めに公開された最新バージョンであるPHP6の導入レッスンがすでにアップされています。

動画で学ぶスタイルなので、英語が苦手な人は面食らってしまうかもしれません。しかし、情報のアップデート頻度がこれだけ高い学習サイトは他にはありませんから、注目しておきたい学習サイトです。

番外編:Youtube上の日本語Laravel講座も見逃せない!動画を見ながら掲示板を作ろう

大学生プログラマーのりくさんがYoutubeで公開している【Laravel講座】掲示板を作ろう!!では、全17本の動画で掲示板を作るチュートリアルを見ることができますよ。Youtube上で見つかるチュートリアルは英語のものがほとんどですので、日本語のLaravel講座は貴重です。隙間時間などで気軽に見てみましょう。

Laravel_youtube

検証4ではRailsとLaravelの学習サイトを取り上げて比較してみました。どちらも人気フレームワークなだけあって、学習サイトも素晴らしい充実具合ですね。

まとめ:検証結果は・・・RailsもLaravelも優秀なフレームワーク

本記事ではRuby on RailsとLaravelについて、様々な側面から比較してきました。一度その検証内容をまとめると次の通りです。

検証1
Railsが記述されているRubyの遅さも、Laravelが記述されているPHPのメンテナンスしづらさも、最近は問題ないレベル

検証2
国内のサイトや求人数ではRailsが優勢、サーバー言語ランキングや検索数・海外のQ&AサイトではLaravelが優勢

検証3
ライブラリがたっぷり充実しているので、RailsもLaravelも活用しやすさに優劣なし

検証4
学習サイトは、RailsもLaravelもどちらも素晴らしく充実

国内・海外での人気度は違えどそれぞれしっかり充実していて、結局どっちのフレームワークが圧倒的に優れていると言い切ることはできなそうです。しいて言うなら、パフォーマンスにこだわらないならRailsの方が開発しやすく、新しい技術やAPIを試したいならLaravelの方がよい傾向があるようですよ。

フレームワークを選ぶときは、精通したエンジニアと話してみよう

フレームワークを選ぶなら、そのフレームワークに精通しているエンジニアと実際に話してみるのが一番良い選び方です。疑問に思っていることを質問して、エンジニアがどのような観点で考えるのかを学べば、自分に合ったフレームワークなのかどうかを見定めるヒントになりますよ。

 

【Webスキル診断】“一生使えるスキル”を60秒で診断しよう!

CTA-IMAGE 「フリーランスになりたいけど、どんなスキルを身につければいいかわからない」という悩みを解決すべく、東京フリーランスでは【Webスキル診断】をLINEで無料実施中です! Web制作・Webデザイン・アプリ開発・動画編集など「自分に合った理想の働き方は何か」を見極めていただけます。

効率の良い勉強法カテゴリの最新記事