開発を行なっていてよく議題に上がるのが、「どのプログラミング言語を使うか?」ということ。プログラミング言語を選んでも、またその中でどのようなフレームワークを使うのか、フロントエンドはどうやって実装するのか、など考えることがたくさんあります。

今回はPHPのフレームワークであるLaravelについて理解を深めていきましょう!

1. Laravelとは?

Laravelとは
Laravelとは2011年にリリースされたPHPのフレームワークです。
PHPフレームワークの中では後発ながら、その手軽さや扱いさすさから人気を集め、今やPHPの中でも代表的なフレームワークとなっています。

マイクロソフトの.NETの開発に関わっていたTaylor Otwell氏によって開発され、活発なコミュニティ活動により今もどんどんアップグレードされているフレームワークになります。PHPフレームワークの一つであるSymphonyを土台に開発されており、今までPHPの別のフレームワークを触ってきた人にとってもある程度扱いやすいものとなっていると言えます。

2020年6月現在、最新版は2020年3月にリリースされたLaravel7となっています。

1-1. 何に向いているの?

laravelとは?
プログラミング言語やフレームワークには、作りたいものによって向き不向きがありますが、Laravelは非常に柔軟で多機能なフレームワークなので、webアプリケーションであれば全般的に向いています。

ただ、比較的自由度が高いということもあり、厳密にコードの規約を守らないといけない開発、大人数での大規模な開発をLaravelで行うとその後の保守などが大変になる可能性も。
多機能で学習コストが低いという観点から、少人数でスピード感を持って開発したいときなどにはそのメリットを享受できます。

ベトナムオフショアならバイタリフィへ

2. Laravelの特徴

「Web職人のためのフレームワーク」と謳われているLaravelがどのような特徴を持っているのかを解説していきます。

2-1. MVCモデル

Laravelとは?
Laravelでは、MVCモデルを採用しています。MVCモデルとは、処理をModel(データ処理)、View(画面表示)、Controller(全体の制御)の各機能に分けて、各パーツごとに開発を行なっていくものです。

どこにどのような処理を書けばいいかが明確になるため、開発経験が浅くても混乱しづらく学習コストが低いと言えます。また、インストールの時すでにログイン、ユーザー管理など基本的な機能が揃っているので、サクッとプロダクトを作るときにもやりやすいでしょう。

2-2. パッケージ管理はComposer

Laravelとは?
Laravelはパッケージ管理ツールとして、Composerを使用しています。Composerは、開発のために必要になるライブラリやパッケージを管理、インストールするものです。

ライブラリなどを使用するとき、依存性の問題が起こる場合があります。これは、例えばライブラリAを使いたいときがあったときに、ライブラリAを使うために必要なライブラリB、ライブラリCも一緒にインストールしないと使えないという問題です。

Composerを使用することでこの依存性問題を解決することができます。ComposerコマンドでライブラリAをインストールすれば、勝手に必要なライブラリB、ライブラリCもインストールしてくれるのです。

これがあるのとないのとでは、ライブラリ使用の簡単さが全く違ってきます。コマンド一つで全て揃うというのが非常に便利です。

2-3. Eloquent ORMとMigration

Laravelとは?
webアプリケーションを開発するために必ず必要になってくるのがデータベースの操作です。
webアプリケーションにおいては、データベースに保存したデータを取得して表示したり、データを更新して常に新しい状態に保ったりといった操作が不可欠です。

Laravelではそのデータ操作を簡単にするEloquent ORM(エロクアントORM)という仕組みが備わっています。
Eloquent ORMはEloquent Object Relational Mappingの略で、データベースとモデルにリレーションを持たせて、データを柔軟に扱えるようにしたものになります。
データベースの操作にはSQLが必須となりますが、SQLをかなり書きやすくしたものと言っても良いでしょう。

例えば、「User」テーブルからidが10のユーザーを取得する際、SQLでは

SELECT * FROM user WHERE id=10

と言った書き方をしますが、Laravelでは

$data = User::where('id', 10)->get();

といった書き方になります。

今まで生のSQLを使用していた人にとっては書き方が難しいと感じるかもしれませんが、慣れれば色々なデータ操作を簡単にできることに気付くでしょう。

また、Migration(マイグレーション)というテーブル定義の仕組みも持っており、テーブル定義に対する変更内容が書かれるファイルが生成されることで、データベースの変更などの管理が容易になります。
Migrationファイルがあれば、php artisan migrateというコマンド一つでデータベースのテーブル構築ができるので、複数人で開発するようなときにも非常に便利です。

2-4. 軽量なBladeテンプレート・エンジン

Laravelとは?
LaravelのView(画面表示)では、Bladeテンプレートを採用しています。
Bladeテンプレートは軽量と言われており、基本的にはHTMLの中にPHPの変数や処理を入れ込むような形で実装していくものになります。

ベトナムオフショアならバイタリフィへ

3. どのくらい使われているの?

Laravelとは?
2020年現在、LaravelはPHPのみならず他の言語のフレームワークと比較してもトップシェアを誇ると言われています。
Googleトレンドを見てみると、2013年後半ごろから徐々に検索数を伸ばしシェアを拡大してきたことが伺えます。

日本では元々CakePHPがよく使われていましたが、2017年ごろから徐々にLaravelが人気を伸ばし、今は完全にCakePHPがLaravelに追い抜かされた形になります。

Laravelとは?
世界での検索トレンドを見ても傾向は同じです。

Laravelとは?
また、Laravelはベトナムオフショア開発でも開発者が見つけやすいフレームワークでもあります。
上記を見ても、ベトナムではCakePHPは完全に下火なのに対しLaravelは2015年ごろから検索数が上がってきています。

これは、Laravelの比較的自由に開発ができる柔軟性、学習コストの低さ、多機能性が評価されての結果だと言えるでしょう。

4. どうやって始めればいいの?

Laravelとは?
実際に触ってみたいという人は、自分のパソコンにLaravelをインストールすることでローカル環境を作ることができます。
ドキュメントはこちらが参考になります:https://readouble.com/laravel/7.x/ja/installation.html

大まかな流れは以下のようになっています。

1. Composerをインストール
2. Composerを使用してLaravelインストーラをインストール
3. laravel newコマンドでプロジェクトを作成
4. php artisan serveでローカルサーバを起動し、Laravelの初期画面を確認

実際には各環境でインストールしないといけないものや、実行するコマンドは変わってきますが、Laravelを始めること自体はそれほど難しくありません。
ローカル環境を作成して自分で触ってみると、その構造がよくわかると思います。

ベトナムオフショアならバイタリフィへ

5. まとめ

今やPHPの代表的なフレームワークとして知られているLaravelについてご紹介しました。
柔軟で非常に使いやすいフレームワークなので、一度試してみることをお勧めします。

6. webアプリケーションの開発ならバイタリフィへ

オフショア開発 インタビュー

今や、オフショア開発をおこなっている企業はどんどん増えています。

日本国内ではオフショア開発に対して後ろ向きな先入観を持っている企業もいますが、開発ベンダーが国内であろうが海外であろうがはもう関係がなく、自社にあった選択する必要があります。

バイタリフィでは、弊社では2008年からのオフショア開発のナレッジを元に、仕様の理解を徹底することで安定した品質を担保しています。スマートフォンアプリ開発拠点としては、ベトナムでNo.1の実績を誇っております。

弊社では、国内開発とオフショア開発の両者に対応しているので、まずは気軽に開発のご相談をいただければ幸いです!【ご相談は無料です】

問い合わせ

6-1.関連記事

▼<2分で読める>オフショア開発で相性の良い案件とは

<2分で読める>オフショア開発で相性の良い案件とは

▼【オフショア開発のメリット】なぜベトナムが人気なのか?

【オフショア開発のメリット】なぜベトナムが人気なのか?

▼【富士通クラウドテクノロジーズ様 インタビュー】オフショア開発で運用コストが半減!

【富士通クラウドテクノロジーズ様 インタビュー】オフショア開発で運用コストが半減!

▼【徹底解説】オフショア開発会社の選び方は?どんな特徴がある?

【徹底解説】オフショア開発会社の選び方は?どんな特徴がある?