Dyno

WordPress と Laravel の違い

今回は、ウェブサイト・ウェブアプリケーションを構築するための道具である WordPress (ワードプレス)と Laravel (ララベル)を比較しその違いについて説明します。

WordPress と Laravel の名前だけ知っていて中身はあまり知らない方・プログラミング知識の無い方・プログラミング経験の短い方を読者に想定し、技術的に細かな違いではなく俯瞰して見たときの大きな違いについて述べます。

(ちなみに、細かな違いが知りたければ、公式のドキュメントや書籍できちんと学ぶのがいちばんです)

筆者のバックグラウンド

先に筆者のバックグラウンドについてかんたんに説明します。

筆者はウェブエンジニア・プログラマです。

WordPress と Laravel の知識・経験でいうと、 WordPress の方は実プロジェクトで利用しています。 WordPress のカスタムプラグイン・カスタムテーマを書いてサイト構築をしています。 他方 Laravel の方は、公式のドキュメントと書籍を数冊読んだだけで、実プロジェクトでの使用経験はありません。

ただ、 Laravel 以外のウェブアプリケーションフレームワーク(以下「フレームワーク」と呼びます)の実プロジェクトでの利用経験はあるので、「フレームワークがどんなものか」についてはある程度理解しているつもりです。

ということで、 Laravel の知識は本格的に使っている方に比べるとぜんぜんですが、 WordPress と Laravel の違いを語れるぐらいの知識はあると自分では思っています。

(この類の情報を参考にするときは「どの程度の知識レベルのどんな人が発信した情報か」を必ずチェックすることをおすすめします)

では本題に入ります。 最初に WordPress と Laravel についてかんたんに説明した上で、両者の違いを説明します。 最後に共通点についても少しだけお話しします。

WordPress とは? Laravel とは?

WordPress とは

WordPress

WordPress を一言でいうと「 CMS 」(コンテンツ・マネジメント・システム)です。 CMS とはテキストデータやメディアファイルの管理を助けるソフトウェア・アプリケーションです。

CMS としての特徴は、デザイン・使いやすさ・シンプルさが重視されていて、投稿 UI が非常に洗練されていることです。 利用者数で見ると、間違いなく世界で最も多く使われている CMS です。 2020 年時点の CMS マーケットにおける WordPress のシェアは 60% 強で 2 位のシェアが 5% 未満なので、 2 位の 10 倍以上のシェアを持っています。 いわば「 CMS で作られたサイトの 2 つに 1 つは必ず WordPress 」というぐらいのシェアなので、「 CMS といえば WordPress 」「 CMS のスタンダードは WordPress 」と考えて間違いありません。 2020 年時点でウェブブラウザ Google Chrome のシェアがちょうど 60% ぐらいとのことなので、「 WordPress は CMS の世界の Chrome 的なポジションにある」と考えるとわかりやすいかもしれません。

Laravel とは

Laravel

Laravel を一言でいうと「フレームワーク」です。 フレームワークは CMS のように単独でそのまま使えるソフトウェア・アプリケーションではなく、ソフトウェア・アプリケーションを作るための「道具箱」のようなものです。

フレームワークの中では後発ですが、短い期間で急速に支持を集め、今では「 PHP のフレームワークといえば Laravel 」というぐらいの存在感の人気のフレームワークです(補足: PHP は Laravel が使うプログラミング言語の名前です)。 GitHub では「いいね」的な意味の「スター」の数が最も多いフレームワークのひとつで、統計データはありませんがおそらく 2020 年時点で新規プロジェクトでの採用が最も多く利用者数が最も伸びているフレームワークだと思います。

フレームワークは一般に「フルスタック」( full-stack )と「軽量」( lightweight )の 2 つに大別されますが、 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 はフレームワークなので、用途が CMS に限定されません。 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: