XAMPPやMAMPと比べてHomesteadが良い理由は、開発環境を本番環境を合わせられることです。
実際わたしはXAMPPで開発を進めていましたが、開発環境で動いたのに本番環境で動かないエラーが発生した時に、急遽 Homestead環境に切り替えたりしました。
Homesteadは慣れると、なかなか使いやすいです。
ただ最初は設定がうまく行かなかったりして、苦労しました。
「あー、もう!なんで動かないの~!」
って気持ちになったりもしました。
XAMPPとHomestead、両方の環境を使っている経験から、Homesteadとは何か、メリットや注意点など解説しますね。
LaravelのHomestead環境って、一体、どういうもの?
まずは Homesteadは何か?から、ちょっと解説していきますね。
Laravelの公式マニュアルには、Homesteadについて、次のように書かれています。
Laravel Homesteadは、PHP、Webサーバー、その他のサーバーソフトウェアをローカルマシンにインストールしなくても、すばらしい開発環境を提供する公式のパッケージ済みVagrantボックスです。
(省略)
Homesteadは、Windows、macOS、Linuxシステムで実行でき、Nginx、PHP、MySQL、PostgreSQL、Redis、Memcached、Node、その他すばらしいLaravelアプリケーションの開発に必要なすべてのソフトウェアを含んでいます。
*引用元:https://readouble.com/laravel/8.x/ja/homestead.html
「すばらしい」が連発です。
上記の解説から、Homesteadとは、Laravel用の設定がされたVagrantだとわかりますね。
ただ、そもそもVagrant(ベイグラント)って何なのか?
次に、これを解説していきます。
ちなみに、Homesteadには、次のソフトウェアが含まれています。結構、充実しています!
【Homesteadに含まれているソフトウェア】
- Ubuntu 18.04 (
master
ブランチ) - Ubuntu 20.04 (
20.04
ブランチ) - Git
- PHP(8.0、7.4、7.3、7.2、7.1、7.0、5.6)
- Nginx
- MySQL
- lmm
- Sqlite3
- PostgreSQL (9.6, 10, 11, 12)
- Composer
- Node (Yarn、Bower、Bower、Grunt、Gulpを含む)
- Redis
- Memcached
- Beanstalkd
- Mailhog
- avahi
- ngrok
- Xdebug
- XHProf / Tideways / XHGui
- wp-cli
Vagrant(ベイグラント)とは何か?
Vagrant(ベイグラント)とは、仮想環境を操作するためのツールです。
仮想環境の構築は、Virtualbox(バーチャルボックス)などを使って行います。Vagrantは、構築後の仮想環境を操作できるツールです。
「仮想」という言葉からご想像いただけると思いますが、仮想環境というのは、パソコンやサーバーの中で、仮想的な環境を作り出すこと。
こうすることで、OSに縛られない環境を構築できます。
仮想環境を使うことのメリット
このOSに縛られない環境って、開発するときに重要です。
たとえば、わたしはWindows10を使っていますが、本番環境のエックスサーバーなどはLinuxになります。
すると、開発環境では動いたのに本番環境ではエラーになった!なんてことが起こったりします。
これって、結構、こわい事態です…
本番環境で動くかどうか分からないものを、デプロイしたくないですよね。
仮想環境を構築すれば、開発環境と本番環境を合わせられるので、こういったトラブルを回避できます。
またチームでプロジェクトを進めていく場合には、チーム全体で環境を統一できるので、開発を進めやすくなります。
仮想環境を使うことの注意点
ただ仮想環境の構築は良いことばかりではありません。
そもそも、仮想環境を構築したり維持するのは、難易度が高い作業です。WindowsやMacと違ってコマンド入力を通じて操作を行う必要があります。
もし あなたがコマンド入力に慣れていない場合には、結構、手こずるかもしれません。
ただWebエンジニアとして、仮想環境の構築は避けて通れない道かもしれません。
時間があるときに、仮想環境構築に挑戦してみる価値はあると思います。
ちなみに速度については、仮想環境の場合、パソコンの中で、パソコンのふりをさせているので処理負荷が増えて、普通に動かすよりは遅くなります。
とはいえ、Homesteadが採用しているLinuxは負荷が軽いため、通常は、ストレスを感じるような遅さはありません。
仮想環境の中でWindows10を動かしたりすると、動作が遅く感じるかもしれません。
HomesteadとXAMPP/MAMPの比較
ここまで、Homesteadのメリットとデメリットをお伝えしました。
次に、XAMPPやMAMPと比較してみます。
HomesteadとXampp/Mampをさくっと比べてみると、下記のような感じになります。
【HomesteadとXAMPP/MAMPのメリット・デメリット比較】
Homestead | XAMPP/MAMP | |
インストールのしやすさ | ☓ | ○ |
本番環境との合わせやすさ | ○ | ☓ |
WindowsユーザーはXAMPP、MacユーザーはMAMPを使うことが多いですが、どちらも機能はほぼ同じです。
インストールのしやすさで選ぶなら、XAMPPまたはMamp、本番環境との合わせやすさで選ぶなら、Homesteadでしょう。
ちなみに、XAMPP/MAMPには、Laravelを使う際に必要な次の3点が組み込まれています。
- Apache(Webサーバーアプリ。アパッチと読みます。)
- データベース
- PHP
また、XAMPP・MAMP環境は、コマンドを使わず、通常のOS用ソフトウェアとしてPCにインストールできます。
手軽さで選ぶなら、XAMPPまたはMampですね。
でも手順が分かれば、Homesteadも、そこまで難しくないですよ。
さいごに
LaravelのHomestead環境について解説しました。
次回からは「Homestead環境を構築してみる」ための手順をひとつずつ、解説していきますね。
【Laravel Homesteadを使う! 目次】
- Homestead環境の特徴、Xampp,Mampと比べたメリットや注意点(←今ここ)
- Homestead環境の構築方法解説
- HomesteadにPhpMyAdminをインストールする方法
- 既存プロジェクトをクローンして、Homesteadで開発する手順
「今は忙しいし、一刻も早くLaravelを使いたい!」
という場合には、Homesteadではなく、XAMPP(ザンプ)やMAMP(マンプ)で環境を作ることをおすすめします。その場合は、こちらの記事が参考になります。