当ブログサイトをWordPressからCakePHPで再構築した導入理由
当ブログサイトは、Web開発でつまづいたことを記事化して公開していますが、当初WordPressで運営していました。
ですが、WordPressはサイト表示が重かったりWordPressのバージョンアップでテーマやプログインが動かなくなる現象がありCakePHPに再構築することにしました。
そこでなぜCakePHPを選んで再構築するに至った理由やCakePHPのメリット・デメリットについて解説します。
もともとはWordPressで運営していた
ブログを立ち上げて4,5年くらいたちますが当初は「ブログ=WordPress」という感覚がありWordPressを利用していました。
WordPressは無料で使え、カスタマイズも自由にでき、当時は重宝して使っていたのですが、だんだんとWordPressのデメリットが上回るようになりました。そのため、CakePHP3(現在は4にアップデート済み)に乗り換えることに決めました。
WordPressのここが嫌い
WordPressが嫌いになった理由はいくつかあります。
表示速度が遅い
誰もが思ってしまう表示速度の問題ですね。個人ブログだから表示速度なんて・・・と思うかもしれませんが、遅いのが許せません。もちろんプラグインやサーバーのスペック、キャッシュを上手に使うことで早くすることができます。
ですが、根本的に遅いのに外部の力で無理やり早くしている感が許せません。
ソースの書き方、DB設計が嫌い
ブログになんか機能を追加しようとした場合、プログラミングしたりテーブル作ったりする必要が出てきますが、WordPressの仕様で作りたくない感があります。
HTMLの構造が複雑
WordPressは汎用的に作られているためHTML出力が複雑になっています。
シンプルでないためカスタマイズするにしても一苦労なところがあります。これは慣れなのか?と思ったこともありますが、まぁメンドクサイ。
WordPressを学んでも価値がない
「価値がない」と書くとWordPress信者に怒られそうですが、大人の事情としてWebシステム開発者としてWordPressのテーマ開発やカスタマイズは開発単価が低い(安い)です。
WordPressを細部まで学んでもWebシステム開発の単価は安く受注したくない案件でもあります。
CakePHPを選んだ理由
ではWordPressの切り替えようとしてCakePHPを選んだのかまとめてみました。
小規模開発に適している
CakePHPは小規模開発やスピード重視するシステム開発に向いているとよく言われます。スタートアップ会社系もCakePHPを先に選ぶのもこの点かと思っています。
今回ブログシステムは小規模分類になり、CakePHPの規約を遵守してbakeコマンドを最大限活用すればコーディング量も少なくブログシステムを立ち上げることができます。
プログラミングで迷う必要がない
規約が厳しいため、コーディングの仕方が絞られます。
「ここってどこに書けばいいんだろう」という悩みから解放され、規約通りに実装するだけで良い点は、CakePHPの大きなメリットだと考えています。
Laravelに比べ表示速度が早い
CakePHPとLaravelの表示速度の体感になりますが、CakePHPのほうが表示速度は上回っていると思っています。
ベンチマークをしている方もいますが、ベンチマークでもCakePHPのが早いようです。
カスタマイズの自由度
WordPressはプラグインやテーマの選択によって、比較的簡単にサイトの機能追加やデザイン変更ができるのが魅力です。しかし、高度なカスタマイズを求められる場合、コードの修正が困難になることも。
CakePHPはその基盤から自分の思い通りに構築することができるため、カスタマイズの自由度が非常に高いです。これは、特定の機能や独自のデザインを追求する際に大きなアドバンテージとなります。
WordPressより開発単価は高い
大人の事情ですね。WordPressと比べると開発単価は高い傾向にあります。
また案件もLaravelには劣ってしまいますが、まだまだ需要があります。(日本特有なのかな?)
Laravelを選ばなかった理由
「LaravelとCakePHPどっちがいいの?」とよく耳にしますが、Laravelを選ばなかった理由も紹介したいと思います。
既に記載した部分もありますが、選ばなかった理由になります。
- 小規模開発
- 表示速度を意識したい
- 開発スピード重視
- Laravelのような汎用性や多機能は不要
仮に複数人でなにかプロジェクトを開発する場合やAPIをフルで活用したりする場合は、迷わずLaravelを選ぶと思いますが、今回はブログシステムでありMVCで完結するためCakePHPを選びました。
MVCとは
Model-View-Controller (MVC、モデル・ビュー・コントローラ) はUIを持つソフトウェアに適用されるソフトウェアアーキテクチャの一種
最後に
今回本ブログシステムでCakePHPを採用した理由をまとめてみました。
プロジェクトの規模や開発スピードでどのフレームワークを使用するかを選んでいることが多いです。
今回のブログシステムではCakePHPが早く開発できるであろうと判断しCakePHPを選んでいます。
コメント
コメントを残す