RailsやLaravelといったフレームワークを学ぶ機会が出てきます。「転職で求人数が多いのはどっちなんだろう?」そんな誰もが気になることを、最新のIT情報を発信している海外サイトnetguruの記事の内容を元に解説していきましょう。RailsとLaravelを取り上げて、いくつかの点から比較します。読み終わる頃には、自分に合ったフレームワークの選び方がわかりますよ。フレームワークを選ぶときは、精通したエンジニアと話してみようフレームワークとは、楽に開発するためのひな形そもそもフレームワークとは、何のことか知っていますか?フレームワークは、普段からよく使用するプログラムをまとめて、システム開発を楽チンに進めるためのひな型です。Webアプリケーションの開発や保守を効率よくすることを目的に、つくられています。数回のクリックで大​​きなコードセクションを生成フレームワークには、こういったプログラムがあらかじめ準備されているんです。フレームワークを活用しないなんてもったいないですね。プログラミングに慣れてきたら、ぜひフレームワークにチャレンジしてみましょう。Hanssonによって公開されたのが始まりで、最新バージョンは6.0です。6がリリースされたばかりです。職人のためのフレームワーク」「美しいコードを愛する人々」というキャッチコピーが有名です。Rubyの可読性の高さを考えると、「美しいコードを愛する人々」というキャッチコピーはRailsエンジニアにもあてはまりそうな気もしますね。検証1:Rubyは遅い?PHPはメンテが難しい?噂の真相は?フレームワークの違いを説明する前に、まずは噂を検証してみましょう。Railsが記述されているRubyも、Laravelが記述されているPHPも、とても人気がある言語です。過去には、こんな問題をそれぞれ抱えていたんです。Rubyは遅い!と非難されていたRubyはプログラムを書けるスピードが速い反面、実行速度が「遅い」と非難されてきました。こんな極端な仮定を立てられてしまうほどです。生産性が高い言語と言われることが多いので、プログラムを作る早さは早い、という評価が一般的です。Cで書くと2日かかる。実行時間は0.1秒Rubyで書くと1日かかる。実行時間は10秒(Cの100倍)と、すこし極端な仮定を置いてみると、どっちが得でしょうか。Quoraまた、Rubyには有名なTwitterのエピソードがあります。Railsが使われていたんです。サービスが人気になるとともにユーザーが世界各地に爆発的に増えました。大量のツイートが瞬間的におこなわれるとパフォーマンスの問題が出てきてしまいます。天空の城ラピュタがテレビでオンエアされたときに「バルス!」と呟いて楽しんだ人もいるでしょう。FIFAワールドカップをテレビ観戦しながら、応援しているチームがゴールした喜びをシェアしたくて「ゴーーール!」と呟いた人もいますよね。たくさんの人が同じタイミングで一斉に呟くと、Twitterはたちまち処理能力の限界を超えてしまいました。「ツイッターは処理能力の限界を越えています。」というメッセージが添えられた、こんなクジラの絵に遭遇した人も少なくないはずです。2018Twitterのエンジニアチームは組織再編成のうえ、サイトの再設計を検討せざるを得なくなってしまいます。how!で綴っていますので、読んでみてくださいね。2018年の間にRubyのパフォーマンスは劇的に改善しているので、これから学ぶ人は安心してください。このTwitterの件で、「遅い」というイメージが根付いてしまいました。PHPはメンテナンスしづらいと認識されてきたPHPは1990年代初頭、インターネット創世記から存在していました。初期にPHPで実装されたプログラムは、スパゲッティプログラムなんて揶揄されるほど、整備されていないものが少なくありませんでした。そのため、多くのエンジニアから「PHPはメンテナンスしづらい」と認識されてきたんです。現在では、FacebookをはじめとするWebアプリケーションで多く使われています。実際しっかりメンテナンスできることの証拠といえますね。あわせて読みたいPHP言語はなぜ批判されてしまうのか検証1では、RubyとPHPの噂の真相を調べてみました。Rubyは遅い、PHPはメンテナンスに難ありというどちらの噂も、すでに解消されているといえそうですね。検証2:Rails?Laravel?人気が高いのはどっち?次はRailsとLaravelの人気の高さを比べてみましょう。開発コストの観点からプログラミング言語やフレームワークを比較するとき、どのくらいの規模のコミュニティがあるのかは、見過ごせない重要なポイントです。それぞれの言語のランキングから見てみましょう。言語ランキングを見ると、PHPがダントツで第1位です。サーバーサイド言語ランキング第1位:PHPは初心者が学びやすい言語PHPは、初心者に学びやすい言語と言われています。Rubyと比較すると複雑だと感じる人もいるでしょう。抽象度が低めで、海外では教育カリキュラムに入っていることが多いようです。サーバーサイド言語ランキング第4位:Rubyは英語に似ている言語Rubyは構文が英語に近く、比較的習得しやすい言語です。その証拠に、一部のコードは文章のように読むことができるんですよ。RailsもLaravelも、サーバーサイド言語ランキングで上位を占める言語のフレームワークですから、人気が高いのは当然ですよね。その証拠に、インターネット上ではそれぞれ巨大なコミュニティが構築されています。実際にそのフレームワークを使っている人はどのくらいいて、コミュニティの規模、転職のニーズはどのくらいあるんでしょうか。主要なサイトから具体的な数値で見てみましょう。Railsをはるかに上回っています。Q&Aサイトでタグのついた投稿数を見てみよう:teratailteratailはITエンジニアのQ&Aサイトです。teratailではタグの数で比べてみましょう。するとRailsは9.819投稿、Laravelは2,824投稿です。teratailではRailsの方が圧倒的に質問が投稿されていることがわかります。知識共有の多さを見てみよう:QiitaQiitaは、エンジニアリングに関する知識を記録・共有するサイトです。Qiitaでは、フレームワーク名で検索した結果の数を見てみましょう。Railsで検索をすると、ヒットする検索結果は28,159件。右側の関連タグを見ると、フォロワー数は23,526です。Laravelも同様に調べてみましょう。検索結果は7,070件、フォロワー数は2,192とRailsと比べると少なめです。Qiitaでは、Railsの方が知見が多く共有されていて、フォロワー数も10倍も多いという結果が出ました。英語圏のサイトでのコミュニティの規模を見てみよう:redditredditはニュース記事や画像、テキストを投稿してコメントをやり取りするサイトです。英語圏を中心としているので、teratail、Qiitaとは違った結果が出そうですね。redditでのRailsとLaravelのコミュニティの規模を見てみましょう。Railsで検索すると、redditのRailsのコミュニティに所属しているメンバー数が37,700人だとわかります。同様にLaravelでも検索すると、コミュニティに所属しているメンバー数は36,400人です。1,000人の差ですが、redditでのコミュニティはRailsの方がメンバー数が多いという結果でした。OverflowはエンジニアによるエンジニアのためのQ&Aサイトです。こちらも英語圏が中心なので、日本中心のサイトとは違う結果が見られそうです。railsで検索してみると、投稿されている質問数はわずか500件でした。次にLaravelで検索してみると、同じ検索窓から検索しているのに、Laravelのタグがついた質問数が自動的に結果に表示されました。その数はなんと124,844件。OverflowではダントツでLaravelの質問数が多いという結果になりました。転職市場での需要を有名求人サイトで見てみよう最後は、転職市場での需要について調べてみましょう。具体的な求人件数を国内有名求人サイトで調べてみると、以下のような結果になりました。(2019年9月5日調べ)Doda、Wantedly、Greenの3社で確認しましたが、数値を見る限りRailsがかなり優勢ですね。ちなみにRailsはスタートアップ企業に比較的採用されやすい傾向があり、Laravelに関しては、すでにPHPを業務で使っている企業が後から導入を始める傾向があるようです。そのため、業務でLaravelが使われていても、新しい人材を探す必要がないなどの理由で求人数に反映されにくいのかもしれません。検証2ではRailsとLaravelの人気の高さを比べてみました。結果をまとめるとこのようになります。国内のサイトや求人数ではRailsが優勢で、サーバー言語ランキングやGoogleトレンド、海外のQ&AサイトではLaravelが優勢という傾向がわかりました。一概にRailsとLaravelのどっちの人気が高いとはいえなそうです。検証3:Rails?Laravel?活用しやすいフレームワークはどっち?次は、活用しやすいフレームワークはどっちなのかを見るにあたって、それぞれの言語のライブラリの充実度に着目してみましょう。ライブラリとは、汎用性の高い複数のプログラムを再利用可能な形でまとめたものです。先輩エンジニアが開発した便利なプログラムを、同じ言語で開発しているエンジニア全体に対して提供しているんですよ。これって素晴らしい文化ですよね。外部ライブラリを使用すれば、経験値の浅いエンジニアでも複雑なコードを書かずに機能を実装できるんです。準備されているライブラリの数は、Railsが記述されているRubyと、Laravelが記述されているPHPではどちらが多いのでしょうか。Rubyでは、15万件以上の種類豊富なgemが提供されているRubyのライブラリはgemと呼ばれています。英語で「宝石」という意味なんですよ。ロマンチックじゃないですか?Rubyでは、コミュニティによって開発されたgemの膨大なライブラリを称賛されることが多く、こんな格言があるほどです。everything”~どんなプログラムも、すべてgemに用意されているはず。大げさに聞こえますよね。これは真実といえるんです。ある機能のためのgemがないと見つかれば、どこかのRubyエンジニアがそのgemを作っていつか公開するはず。エンジニアの間で信じられるほど、gemは種類も豊富で充実しているんです。gemの一例ユーザーの承認を提供アプリケーションでのユーザーのロールと能力を管理テストの出力を虹色に変更2019年9月現在、15万4千を超えるgemが提供され、gemのダウンロード総数は400億回を優に超えています。PHPでは、たった7年のうちに23万件以上のパッケージが提供されている1990年代に登場してから20年近く、PHPにはライブラリのバージョンや依存関係を管理する方法がありませんでした。2012年、ようやくPHPのパッケージ管理システムComposerがリリースされて状況が変わります。PackagistというComposerのメインリポジトリを使うことで、PHPのエンジニアはライブラリのインストールやバージョン管理ができるようになったんです。Composerが登場してからまだ7年間しか経っていません。2019年9月時点ですでにPackagistには23万8千を超えるパッケージが登録され、インストールされた総数は173億回以上を記録しています。一部のライブラリは使えるフレームワークを限定しているので、すべてのライブラリがRailsもしくはLaravelで使えるわけではありません。それぞれのライブラリの全体数を見れば、RailsでもLaravelでもライブラリを活用して開発できる可能性が無限に広がっていることがわかりますね。検証3ではRubyとPHPのライブラリの充実具合から、フレームワークの活用のしやすさを比較してみました。RailsもLaravelも活用のしやすさは申し分ないといえそうです。検証4:Rails?Laravel?学習サイトが充実しているのはどっち?最後は学習サイトがより充実しているのはRails、Laravelのどっちなのかを見てみましょう。親しみやすさ&わかりやすさが人気の秘訣:ProgateProgateは、初心者向けのプログラミング学習サイトです。イラストでの図解がとてもわかりやすくて人気があるんですよ。Rails5の学習コースが用意されていて、基礎知識からSNSのログイン・ログアウト、投稿とユーザーの紐付け、いいね機能、パスワードの暗号化までをしっかりと学べます。短い動画で効率よく学べるサイト:ドットインストールドットインストールは、3分動画でマスターするプログラミングサービスを提供している学習サイトです。3分間の動画は内容がとても濃密で、効率的に学びたい人にはとてもオススメです。Rails5入門の動画レッスンが用意されており、Railsのインストールからアプリの完成まで動画を観ながら学習を進められますよ。インターン研修にも使われる学習サイト:シラバスシラバスは、マネするだけで学べる学習サイトです。文章を読み進めて進めるタイプの学習サイトなので、自分のペースで進めたい人にピッタリですね。2chの簡易クローンアプリを作る」というレッスンが用意されています。IDEを使って進められるので、環境構築の必要もなく手軽に学習が始められますよ。インターン研修でも使われている教材なので、しっかりマネをして役立てましょう。大学だけでなく企業でも採用されているんですよ。挫折者も少なくないといわれるので、しっかりと基礎知識を身につけてからとりかかりましょう。Railsが取り上げられています。楽しみながらしっかり学べる:paizaラーニングpaizaラーニングは、動画で学べる総合学習サイトです。積極的にキャラクターや声優を起用して、学習を楽しく進めるような工夫がされているんです。Laravel編には全5レッスンが用意されています。基礎から学びながら「ランチマップ」アプリが作れますよ。環境構築せずに学習を始められるのでとても手軽なのがありがたいですね。ほんの3分間の積み重ねで学ぶ:ドットインストールRailsの学習サイトとしても紹介したドットインストールでは、Laravelの学習サイトとしても外せません。Laravel5.5入門の動画レッスンでは、PHPやLaravelのインストールからWebアプリ内の記事とコメントの紐付け、コメントの保存と削除、外部キー制約の設定など全31回に渡る内容が用意されています。3分間ながら濃密な動画学習のため、効率的に学びたい人にはとてもオススメです。周辺知識も充実の入門者向けサイト:Laravel学習帳Laravel学習帳は、Laravelに特化した学習サイトで、文章を読みながら学習するスタイルをとっています。チュートリアルだけでなく、早見表や周辺知識についても記事がまとまっているので、知識の整理にとても役立ちますね。情報更新頻度は高めなので、ぜひ活用したい学習サイトです。Laravel公式が認めるチュートリアル:LaracastsLaracastsは、Laravelを中心にSQL、PHPなども学べる学習サイトです。情報更新をほぼ毎日おこなっているため、今月初めに公開された最新バージョンであるPHP6の導入レッスンがすでにアップされています。動画で学ぶスタイルなので、英語が苦手な人は面食らってしまうかもしれません。情報のアップデート頻度がこれだけ高い学習サイトは他にはありませんから、注目しておきたい学習サイトです。あわせて読みたい【要チェック】Laravel無料学習の神サイト”Laracasts.com”に震えよ番外編:Youtube上の日本語Laravel講座も見逃せない!動画を見ながら掲示板を作ろう大学生プログラマーのりくさんがYoutubeで公開している【Laravel講座】掲示板を作ろう!!では、全17本の動画で掲示板を作るチュートリアルを見ることができますよ。Youtube上で見つかるチュートリアルは英語のものがほとんどですので、日本語のLaravel講座は貴重です。隙間時間などで気軽に見てみましょう。検証4ではRailsとLaravelの学習サイトを取り上げて比較してみました。どちらも人気フレームワークなだけあって、学習サイトも素晴らしい充実具合ですね。RailsとLaravelについて、様々な側面から比較してきました。一度その検証内容をまとめると次の通りです。国内・海外での人気度は違えどそれぞれしっかり充実していて、結局どっちのフレームワークが圧倒的に優れていると言い切ることはできなそうです。言うなら、パフォーマンスにこだわらないならRailsの方が開発しやすく、新しい技術やAPIを試したいならLaravelの方がよい傾向があるようですよ。フレームワークを選ぶときは、精通したエンジニアと話してみようフレームワークを選ぶなら、そのフレームワークに精通しているエンジニアと実際に話してみるのが一番良い選び方です。疑問に思っていることを質問して、エンジニアがどのような観点で考えるのかを学べば、自分に合ったフレームワークなのかどうかを見定めるヒントになりますよ。いう要望を持っている方向けに、週に1度リアルなお役立ち情報を配信しています。投稿一覧Kaoruです。大学卒業後、イベント制作やDTPの仕事を経て、この三年ほどは外資系企業でローカリゼーション業務に携わっています。独立を目指してPHPの勉強をしています。2019年4月より東京フリーランスにてライターとしてたずさわることになりました。ライフワークはアートで、パターンデザインが得意です。2019.04.06こんにちは、フリーランスエンジニア兼テックライターのしろ(@siro3460)です。2019.03.31こんにちは、フリーランスエンジニア兼テックライターのしろ(@siro3460)です。2019.07.23こんにちは、プログラマーのとだこうきです。本記事では、プログラミングに関する質問の仕方を説明していきます。USイメージキャラクター『Freena』フリーランスの羅針盤となるメディアサイト『東京フリーランス』。フリーランスの皆さんに役立つコンテンツを配信しています。