前回の続きです!
前回記事:【IT転職を考えている人必見!】IMTで使うプログラミング言語について、「Laravel」とは?(PHPって?編)
フレームワーク「Laravel」について
(1)「Laravel」って?
「Laravel」の主な特徴は以下のとおりです。
①超人気フレームワーク
現在存在しているPHPのフレームワークには様々な種類がありますが、その中でもLaravelは高い人気を誇っています。
Laravelが人気を獲得する以前は「CakePHP」と呼ばれるPHPフレームワークが上位を獲得していました。
しかし現在では「Laravel」が「CakePHP」よりも人気のフレームワークとなっています。
②対Webシステム開発
「Laravel」はWebで動くシステムのほとんどのシステムを作成できます。
例えば、ECサイトや予約システム、婚活マッチングサイトやチャットツールなどの作成も可能です。
(2)「Laravel」の歴史
「Laravel」は、2011年6月リリースの、マイクロソフトの.NETの開発に携わっていたTaylor Otwell氏によってフレームワーク「Symfony」をベースに開発されたフレームワークです。
「Laravel」以前は「CakePHP」が最も利用されていましたが、安定性や機能向上などが大幅に改善されることで利用ユーザーが増え続け、現在最も人気のあるPHPフレームワークとなりました。
「Laravel」という名称は、ナルニア国物語に登場する王都「ケア・パラベル」から由来していると言われています。
ちなみに現在の最新バージョンはLaravel 10.X系です。
(3)「Laravel」人気の理由
①MVCモデルを採用
LaravelはSymfonyと同じく「MVC」モデルを採用したフレームワークです。
MVCモデルとは、処理を「Model(データ処理)」「View(画面表示)」「Controller(全体制御)」の3つの要素に分割し開発を行なっていく開発手法のことです。
MVCモデルでは上記の各機能ごとに開発を進めていくため、処理の内容や記述する箇所が明確になります。
そのため、分業して実装できるため作業効率が向上し、メンテナンスもしやすくなる点がメリットです。
なお、このように「MVC」モデルを採用したフレームワークのことを「MVCフレームワーク」と呼びます。
②自由度・拡張性が高い
「Laravel」は他のフレームワークに比べて規約に縛られていないため、開発の自由度や拡張性が高く、柔軟に開発することができます。
ディレクトリ構造も自由に変えることが出来るなど、それぞれのシステムに適したカスタマイズでき、多彩な利用が可能です。
③パッケージ管理ツール「Composer」を採用
「Laravel」はパッケージ管理ツールである「Composer」(コンポーザー)を使用しています。
開発プロジェクトでは、特定のソフトウェアを実行するため、他のソフトウェアが必要になる場合があり(そのような関係を「依存関係」と呼びます。)、
Composerはこのような依存関係を検出し、特定のソフトウェアをインストールする際は、依存関係にある別のソフトウェアも自動的にインストールしてくれる「ライブラリ依存関係管理ツール」となります。
そのためエンジニア自身で依存関係を把握する必要がなく、開発効率や利便性が向上するというメリットがあります。
④機能が豊富
フルスタックのフレームワーク「Laravel」はWebアプリケーション開発に必要な機能を数多く備えており、基本機能以外だとパスワードやOAuthによる認証やユニットテストなど、その機能は充実しています。
さらに「Laravel」はバージョンアップが活発で頻繁に機能追加が行われているため、今後のバージョンアップでさらなる機能の追加も期待できるでしょう。
⑤DB(データベース)の操作が容易
「Laravel」にはDBを操作するための「Migration」(マイグレーション)と「Eloquent」(エロクアント)が備わっているため、データベースを簡単に操作することが出来ます。
「Migration」とはデータベースの定義ができるファイルのことで、Migrationを利用することでテーブルが作成することが出来ます。
また「Eloquent」は、データベースをモデルに関連付けることが出来るため、テーブル操作、レコード操作などを直感的に扱えます。
上記二つを使うことで、SQL(DBを操作するための言語)が書けなくてもDBを容易に操作することが出来ます。
学習メリット
①学習コストが低い
「Laravel」は、比較的短時間で習得できるというメリットがあります。
というのも、PHP自体が他の言語と比較べて癖が少なくシンプルで、読みやすく書きやすい言語のため、初心者でも理解しやすいためです。
そして「Laravel」がPHPの主流フレームワークということもあり、学習教材やQ&Aが豊富に存在し、学習ハードルが低い点もメリットとして挙げられます。
短時間で習得できるということは、学習コストを抑えられ、比較的早く実践に取り組むことができるということですね。
②日本語の情報量が多い
「Laravel」は、PHPの主流フレームワークのため、日本国内でも多く使われています。
そのため、「Laravel」に関する日本語の情報が豊富で、日本語で学習できる学習教材の数も多いです。
インターネット上を検索すれば、「Laravel」の公式ドキュメントの日本語訳も見つかります。
英語が苦手な人でも日本語でドキュメントが参照でき、効率よく開発ができます。
③世界的に人気があり将来性にも期待ができる
前述のとおり、「Laravel」は世界的に人気のあるフレームワークです。
PHPだけでなくPythonやJavaScriptなど他の主要言語のフレームワーク全体の中での人気も高く、コミュニティの活動も活発なため、新しいバージョンへのアップデートも続けられています。
今後の新しいバージョンのリリース予定も決まっているため、将来性も期待が出来るでしょう。
(4)「Laravel」のデメリット
①処理が速くない
「Laravel」は多彩な機能を備えているために、処理速度が「CakePHP」など他のフレームワークに比べ若干遅めです。
シビアな速度が要求されるシステムでは、他のフレームワークを検討したほうが良い場合があるでしょう。
「Laravel」よりもシンプルなフレームワークとしては「CodeIgniter」などが候補に挙がります。
②自由度が高すぎる
前述したように、「Laravel」はプ自由度の高いフレームワークです。
しかし自由度が高いことから、コードにバラつきが出やすく、メンテナンスがしにくくなる可能性があります。
各自のやり方で自由にコードを書いてしまうとの書き方にも違いが出やすいため、分業でシステム開発を行う場合はあらかじめルールを定めるなどの対策を練ると良いでしょう。
(5)「Laravel」で作られたサイト
「Laravel」で作られたサイトは以下が挙げられます!
①時事通信ニュース
②ぐるなび
③ココナラ
④一休.com
⑤Retty
まとめ
「Laravel」は世界に人気のあるPHPのフレームワークで、今後も拡大することが予想されます。
PHPエンジニアであれば「Laravel」は必須の知識だと言えます。
これからPHPの学習を行う人はPHPやHTML5、CSS等の基本的な学習を終えたら、最終的には「Laravel」を利用した開発を目指しましょう。
「Laravel」は日本語でも多くの情報を得ることが可能なので意識して取り入れたいフレームワークですね。