WordPress と Laravel の違い
今回は、ウェブサイトやウェブアプリケーションを構築するための道具である WordPress と Laravel を比較しその違いについて説明します。
WordPress と Laravel について名前は知っているがどんなものかよく知らない方・プログラミング経験の無い方や短い方を読者として想定し、細かな違いではなく俯瞰して見たときの大きな違いについて述べます。
(ちなみに、細かな違いが知りたければ、比較記事で理解しようとするのではなく、きちんと公式のドキュメントや書籍で学ぶのがいちばんです)
筆者のバックグラウンド
先に筆者のバックグラウンドについてかんたんに説明します。
筆者はウェブエンジニア・プログラマです。
WordPress と Laravel の経験でいうと、 WordPress はクライアントプロジェクトで実際に利用しています。 要件次第で、配布されているプラグインを使うこともありますし、自分でカスタムプラグインやカスタムテーマを書くこともあります。
他方の Laravel は、公式のドキュメントと書籍を数冊読んだ程度で、実プロジェクトでの使用経験はありません。 ただ、 Laravel 以外のウェブアプリケーションフレームワーク(以下「フレームワーク」)はいくつか知っていて実プロジェクトで利用しているので、「フレームワークがどんなものか」はある程度理解しているつもりです。
ということで、 Laravel 知識は本格的に使っている方と比べるとぜんぜんですが、 WordPress と Laravel の違いを正しく説明できるぐらいの知識はあると自分では思っています。
(ちなみに、知識の無い人が受け売りの情報をさも自分が知っていることのように書いている記事もたくさんあるので、この種の情報を見るときは「どのような知識レベルのどんな人が書いた情報なのか」を必ずチェックすることをおすすめします)
では本題に入ります。 最初に WordPress ・ Laravel のそれぞれについてかんたんに説明した上で両者の違いを説明します。 両者の共通点についても最後に少しだけお話しします。
WordPress とは? Laravel とは?
WordPress とは
WordPress (ワードプレス)とは、一言でいうと「 CMS 」(コンテンツ・マネジメント・システム)です。 CMS とはテキストデータやメディアファイルの管理や発信に便利なソフトウェア・アプリケーションのことです。
WordPress の CMS としての特徴は、デザイン・使いやすさ・シンプルさが重視されており投稿 UI が非常に洗練されていることです。 利用者数で見ると WordPress は間違いなく世界で最も多くの人に使われている CMS です。 2020 年時点の CMS マーケットにおけるシェアは 60% 強と言われています。 続く 2 位以下のシェアがいずれも 5% 未満なので、他の CMS とはシェアで 10 倍以上の大きな差があります。 いわば「 CMS で作られたサイトの 2 つに 1 つは必ず WordPress 」という状況なので、 2020 年時点において「 CMS といえば WordPress 」「 CMS のスタンダードは WordPress 」と考えて間違いありません。 2020 年時点で Google Chrome のウェブブラウザ市場におけるシェアがちょうど 60% ぐらいらしいので、「 WordPress はブラウザにおける Chrome 的なポジションにある」と考えるとわかりやすいかもしれません。
Laravel とは
Laravel (ララベル)とはを一言でいうと「フレームワーク」です。 フレームワークは CMS のようにそのまま使えるソフトウェア・アプリケーションではなく、ソフトウェア・アプリケーションを作るための「道具箱」のようなものです。
数あるフレームワークの中では後発ですが、短い期間のうちに急速に支持を集め、今では「 PHP のフレームワークといえば Laravel 」というぐらいの人気のフレームワークです(補足: PHP は Laravel を動かすためのプログラミング言語の名前です)。 GitHub では「いいね」的な意味を持つ「スター」の数が最も多いフレームワークのひとつで、おそらく 2020 年時点で新規プロジェクトでの採用が最も多く利用者数が最も伸びているフレームワークだと考えられます。
フレームワークは一般に機能が豊富な「フルスタック」( full-stack )と機能が限定された「軽量」( lightweight )の 2 つのグループに分類されますが、 Laravel は「フルスタック」の方に属します。 Laravel は開発者にとっての使いやすさ・シンプルさを重視して作られており、 PHP のよいところを活かしてシンプルで直感的な記述で処理が書けること、周辺ツールが豊富なこと等が特徴です。
WordPress と Laravel の違い
上述のとおり、 WordPress は CMS 、 Laravel はフレームワークなので、一般的な「 CMS とフレームワークの違い」がそのままあてはまります。
具体的なポイントをいくつかあげてみます。
- ターゲット層
- 利用方法
- 用途
- 誕生時期
ターゲット層
WordPress の想定利用者は広く「ブログを持ちたい」「サイトを管理したい」と考える人たちです。 プログラミングの知識があればできることの幅は拡がりますが、プログラミングの知識がなくても利用することができます。
一方の Laravel の想定利用者は「プログラマ」です。 プログラミングの知識が無ければ Laravel を使ってサイトを作ることはできません。 Laravel を利用する場合プログラミングの知識は必須と言えます。
利用方法
WordPress は、公式サイトからファイル一式をダウンロードして解凍しサーバーに設置していくつかの設定を行えば、ログインフォームと管理画面を持ったサイト管理システムとしてすぐに使い始めることができます。 WordPress は一般に同居型のレンタルサーバーに乗せて使用することができます( WordPress のかんたんインストール機能を提供しているレンタルサーバーも多いです)。
一方の Laravel は、ファイル一式をダウンロードしてサーバーに設置するだけでは使用できません。 専用のツール(パッケージ管理ツール)を使って Laravel のファイルをダウンロードし、プログラマが必要なコードを書いて相応の環境づくりを行わないと、サイトを公開することはできません。 Laravel を利用する場合は PaaS や VPS 、専有サーバー等を使用することが一般的です。
ウェブサイト作りを料理にたとえるなら、 WordPress はそのまま食べられる「弁当」または「惣菜」で、 Laravel は「食材」と「調理器具」です。 Laravel は調理をしないことには食べられません。
用途
WordPress は CMS なので、記事や画像等のウェブコンテンツの管理が主な用途になります。 プラグインを追加すれば EC や CGM/SNS の機能を持たせることもできますが、それらはあくまでもメインのコンテンツ管理機能の上に追加するアドオン・追加機能という位置づけです。
一方の Laravel はフレームワークなので、用途がウェブコンテンツの管理に限定されません。 Laravel を使って CMS を作ることもできますし、 CMS 以外のアプリケーション――いわゆる業務システムや独自のウェブサービスを作ることもできます(どんなものが作れるかは利用者のスキル次第で大きく変わります)。
実際どちらの方が開発効率・コスト効率がよいかは、サイトの要件とプロジェクトメンバーのスキルによって大きく変わるため一概には言えません。 例えば CGM サイトを作る場合、 CGM に必要な各種機能は WordPress 本体に含まれていないため Laravel を使う方がよいと一見思えますが、サイトの要件が WordPress のプラグインで充足できるものばかりで、 WordPress を使った CGM サイト構築に長けたメンバーがプロジェクトにいる場合は WordPress の方が効率がよいこともあります。
誕生時期
WordPress は 2003 年頃に誕生しました。 2020 年時点で 15 年以上の歴史を持っています。 現役の CMS の中では最も歴史の長い CMS のひとつです。
Laravel は 2011 年頃に誕生しました。 2020 年時点で誕生からまだ 10 年経っていません。 現在主流のフレームワークの中では若い部類に属します。
誕生時期と関係するポイントとして、内部設計やコーディングスタイルがあります。 WordPress と Laravel の内部設計やコーディングスタイルを比較すると、 Laravel の方がよい・洗練されていると考える技術者が多数派です。 そのため、特に新しい技術の習得に積極的なプログラマや自分の技術力に自信のあるプログラマは一般に WordPress よりも Laravel での開発を望む傾向が強いです(これは WordPress と Laravel にかぎらず多くの CMS とフレームワークにあてはまる一般論です)。
一般的な CMS とフレームワークの違いについては別ブログの記事でも説明しているので、興味のある方は読んでみてください。
WordPress と Laravel の共通点
両者には多くの違いがありますが共通点もいくつかあります。 こちらは細かな説明は省いて箇条書きであげます。
- ウェブサイトやウェブアプリケーションを作るための道具である
- PHP というプログラミング言語で書かれており MySQL 等のリレーショナルデータベースを使用する
- OSS (オープンソースソフトウェア)であり誰でも無償で利用でき貢献もできる
- シンプルさ・わかりやすさ・使いやすさを重視している
- 同カテゴリーのソフトウェアの中では圧倒的な人気で、今後も人気が高まる可能性が高い
- 機能を柔軟に拡張できるモジュラーシステムを採用している
ということで、 WordPress と Laravel の違いと共通点についてでした。
もっと詳しく知りたい方は、公式サイトや Wikipedia もご覧になってみてください(以下にリンクを設けています)。
参考
WordPress:
Laravel: