Laravelを学習して、Webエンジニアとして活躍できるようになりたいけど、どうやって学習していけばいいんだろう。。。
この記事ではこういった悩みを持つ人に、現役のLaravelエンジニアが学習ロードマップを紹介していきたいと思います。
PHPとは
PHPとはプログラミング言語の1つで、Webアプリ開発に向いているのが特徴です。
また、比較的学習コストが低いので、初心者向けのプログラミング言語と言えるでしょう。
理由としては、下記の点が挙げられます。
- オブジェクト指向
- 動的型付け言語
- 日本語のドキュメントが豊富である
オブジェクト指向
プログラミングにおける設計や実装についての考え方の1つで、役割を持ったモノをクラスという設計図を元にアプリケーションを開発していきます。
オブジェクト指向はPHPに限らず、他のプログラミング言語でも共通した考え方です。なので、PHPを通してオブジェクト指向プログラミングに慣れることで他のプログラミング言語でも応用することができます。
動的型付け言語
プログラミング言語には静的型付け言語と動的型付け言語が存在します。
静的型付け言語とはプログラマが変数や関数などを定義する時に型を宣言する必要があります。一方、動的型付け言語とはプログラム実行時に型を自動的に推測、決定されるため、型を意識せずにプログラミングできるので、初心者向けです。
JavaやC#、C++などは静的型付け言語でRubyやPythonなどは動的型付け言語です。
しかし、PHPでも型を定義することができますし、最近では型を定義することによりプログラムの品質が上がって事前に不具合を排除することができるため、改めて静的型付けの利点が見直されています。
日本語のドキュメントが豊富
日本でも以前からよく使われてきたプログラミング言語なので、日本語のドキュメントが豊富です。
日本語のドキュメントが豊富だと、エラーが発生した際にもすぐに解決することができ、初心者でも挫折することなく学習を進めることができるので大事な要素の1つと言えるでしょう。
Laravelとは
LaravelはPHPのフレームワークの1つです。
PHPには多くのフレームワークが存在しますが、その中でもLaravelは高い人気を博しています。東京以外の地方でもLaravelを使用した案件は比較的多いので、Laravelのスキルを身につけることでWebエンジニアとして活躍できる場は多いと言えるでしょう。
また、Laravel以外ではCakePHPやSymphonyといったフレームワークが人気で、SymphonyはLaravelの中でも使用されています。
Laravelエンジニアになるために必要な知識
HTML/CSS
Webアプリケーションの開発を行う上でWeb画面を作る必要があります。
Web画面はHTMLというマークアップ言語とCSSというスタイルを設定する言語を使って作られています。
HTMLでWeb画面に表示する内容をタグで表現していき、CSSでWeb画面のスタイルの装飾を行います。
LaravelでWebアプリケーション開発を行う上でも、HTML/CSSの最低限の知識は必要になってきますので、基本的な内容だけで構わないので学習を進めましょう。
JavaScript
JavaScriptとはWebブラウザ上で動くプログラミング言語の1つで、こちらもWebアプリケーション開発を行う上で必須の知識と言えるでしょう。
JavaScriptはWeb画面で動きをつけるだけでなく、最近では非同期通信でAPIからデータを取得してきたり、DOM操作を行ったりして、より複雑なフロントエンド開発を行うことができます。
こちらもLaravelで開発を行う上で必要な知識となってきますので、まずは基本的な知識だけで構わないので必ず学習を進めましょう。
PHP
前述した通り、LaravelはPHPのフレームワークなので、Laravel自体PHPで作られていますし、Laravelを扱うためにPHPの基本的な文法を知っておく必要があります。
if文やfor文、classなど最初は難しく感じるかもしれませんが、徐々に慣れていくので、しっかりと学習していきましょう。
また、HTML/CSS、JavaScriptはフロントエンドと呼ばれ、ブラウザとテキストエディタがあれば開発を進めることができますが、PHPはバックエンドと言われるプログラミング言語で、サーバー上で動くので、開発環境を構築して開発を進める必要があります。
開発環境を構築するには比較的難易度の高い知識が必要になってきますが、XAMPPなどのツールを使うことで簡単にPHPで開発ができるようになります。
下記の記事ではXAMPPでPHPの開発環境を構築する方法を紹介していますので、ぜひ参考にしてください。
Laravel
PHPまで学習ができたら、いよいよLaravelを学習していきましょう。
Laravelは今まで学習してきたプログラミング言語とは違い、フレームワークなのでWebアプリケーションを開発するために必要な土台が備えられています。
LaravelではMVCというアーキテクチャを取り入れており、機能毎にディレクトリが分けられているので、初心者の人はフォルダの多さに驚くかも知れませんが、最初の方に使うファイルは限られていますので、しっかり学習を進める中で慣れていきましょう。
また、LaravelではPHPでの開発よりも少し複雑な環境構築を行う必要があります。
下記の記事ではDockerといった技術を使って、Laravelの開発環境を構築する方法を紹介していますのでぜひ参考にしてください。
DBやHTTP通信など
Laravelに限らず、Webアプリケーション開発を行うには、プログラミング言語やフレームワークの使い方を学習するだけでなく、DBやHTTP通信などのWebアプリケーションが動作するために必要な技術の知識を学ぶ必要があります。
ただし、この当たりの知識はかなり奥が深く全て学習するというのはキリがないので、学習を進める上で必要になった知識を都度学習していくくらいで最初は良いでしょう。
おすすめ学習サイト
それでは具体的に学習する方法を紹介していきたいと思います。
まずはプログラミング学習をすることができるおすすめの学習サイトを紹介していきます。
Progate
Progateは初心者向けのプログラミング学習サイトです。
HTML/CSS、JavaScriptはもちろんPHPの学習もでき、他にも数多くのプログラミング言語やフレームワークを学ぶことができます。
環境構築などの準備をする必要がなく、ブラウザ上で実際に手を動かしながら進めることができるので、しっかり身につけることができます。
残念ながらLaravelはProgateのレッスンにはないのですが、初めてプログラミングに挑戦する人はProgateから始めれば、まず間違い無いでしょう。
まずは無料で始めることができるので、無料版で慣れたら有料課金を行い、本格的に学習を進めていきましょう。
有料でも月額980円なので、低価格でプログラミングを学習することができます。
ドットインストール
ドットインストールは動画を視聴しながら進めていくプログラミング学習サイトです。
プログラミング初心者向けのコンテンツが多く、初心者が詰まりがちな環境構築なども丁寧に説明しているので、安心して学習を進めることができます。
学習できるプログラミング言語やフレームワークもかなり豊富で、ミニアプリを作成するような学習コンテンツもあるので、楽しみながら学習することができるでしょう。
無料の学習コンテンツもありますが、有料でも月額1,080円で豊富な学習コンテンツを楽しむことができます。
Udemy
Udemyは100,000以上の講座がある学習サイトです。
動画を視聴しながら進めるタイプの学習サイトで、他のサイトと比べると圧倒的に学習講座が多いです。
また、プログラミングだけでなく、デザインやマーケティングなどの幅広いビジネススキルを学ぶことができるのも特徴です。
Udemyは月額ではなく講座買い切りタイプで、通常は10,000円以上する講座ばかりなのですが、セール時には1,000~2,000円の価格帯で講座を購入することができ、セールも頻繁に実施されているのでセール時に購入することをオススメします。
Techpit
Techpitは実際にWebサービスやWebアプリケーションを開発しながら学習することができる学習サイトになります。
より実践的にプログラミングを学ぶことができるので、基礎的な学習を終えてより実務に近い学習を行いたい人にはおすすめのプラットフォームになります。
また、一からWebアプリケーション開発の工程を学ぶことができるので、自身のポートフォリオの作成のヒントを得ることもできるでしょう。
おすすめ書籍
次にLaravelを学習するのに、おすすめの書籍を初級編、中級編、上級編に分けて紹介していきたいと思います。
書籍での学習のポイントは読み進めるだけでなく、実際に手を動かして書いたプログラミングコードの動作を確認しながら学習を進めましょう。
そうすることで読み進めただけの場合よりも、身につけることができます。
初級編
独習PHP
独習PHPでは、基本的な構文からクラス、DB連携、セキュリティ対策などを網羅的に学ぶことができます。
PHPを一から学びたい、基礎をしっかり固めていきたい人にはおすすめの1冊になります。
Laravel 入門
Laravelの入門書と言える1冊です。
Laravelのインストールから、MVCの基本的な使い方、バリデーションルール、Bootstrapの連携、ログインなどの認証機能などLaravelで1からWebアプリケーションに必要な基本的な機能実装の仕方を学ぶことができます。
Laravelの基本を学ぶならこの1冊だけで十分だと思います。
中級編
Laravel 実践開発
こちらはLaravel入門を読み終えて、さらにLaravelの機能をもっと使いこなしていきたい人向けの1冊になります。
コア機能の詳細やサービスコンテナ、DBクラスとEloquent、ジョブ管理、モダンなフロントエンドフレームワーク(Vue.js/React/Angular)との連携、Artisanコマンドの作成、ユニットテストなど、より実務で開発する際に必要な知識を学ぶことができます。
上級編
PHPフレームワーク Laravel Webアプリケーション開発
Laravel8に対応しているので、比較的新しいバージョンのLaravelでのコードが記載されていたり、MVC以外のADRやレイヤードアーキテクチャなどの設計手法に関しても記載されており、よりモダンなLaravel開発を学ぶことができる1冊です。
Laravelの基本的なところはしっかり抑えて、よりLaravelエンジニアとして上を目指していきたい人向けの1冊となっています。
まとめ
Laravelについてから、より具体的なLaravel学習ロードマップまでを紹介してきました。
この記事では独学でLaravelを学習することを想定したロードマップになっていますが、必ずしも独学である必要はないと思っています。
大事なのは継続して学習を続けることです。
独学で継続して学習を続けられるのであれば、こちらのロードマップを参考にして頂ければと思います。
独学では挫折してしまった人や継続できない場合は、プログラミングスクールに通って学習を続けることができる環境に身を置くことも大事だと筆者は考えています。
記事の下部に筆者がオススメするプログラミングスクールを載せていますので、ぜひ参考にしてみてくださいね。
この記事を読んだみなさんが充実したエンジニアライフを過ごせるよう願っています。