PHPの4大フレームワークの人気を比較

こんばんは。かなりエンジニアとしてのカンが戻ってきたもとです。

最近、いろいろな案件に触れてますが、昔と違ってフレームワークの利用が増えているようです。
募集要件にフレームワークの利用経験があること。
という案件もちらほら。


フレームワークとボク


ボク自身、まだフレームワーク自体が知れ渡っていない頃、
自社でオリジナルのフレームワークを作って、利用してました。
MojaviとかEthnaとかMapleとかAgaviとか出るよりも昔の話です。
いまだに同じ発想のフレームワークはないと思います。

そんなフレームワークでしたが、会社を辞めたのと同時に開発が止まってしまいました。
最近は、Zend Frameworkと出会って、まいっか。と思いつつ使って、
Zend Frameworkに関する記事もいくつか書いてきました。

よく聞くCakePHPとCodeIgniter


PHPの開発のお仕事を探していて、Zend Framework以上によく聞くのが、CakePHPとCodeIgniter。
名前は聞いたことありますが、受託開発をしていなかったので、
実際触れる機会はありませんでした。

どちらもZend Frameworkと比べると、とっつきやすく、
開始に必要な学習コストは高くないと聞いています。

いい機会ですので、ちょっと調べてみようと思いました。

ちなみに、ここにSymfonyを加えて、PHPの4大フレームワークと言われているようです。
分かりやすいので、この記事のタイトルにしてみました。

Symfonyに関しては、ちょっと調べましたが学習コストが高そうなので、
機会を待ってお勉強したいと思います。

何が人気なの?


さて、4大フレームワークと言われるほど、PHPのフレームワークが乱立していますが、
何が人気なんでしょう?
ボクの周りでは、CakePHPばっかり使っているという方と、CodeIgniterで
開発されている方と両方いました。
Zend Frameworkユーザーはボク自身開発に入っていたこともあり、
いっぱいいますが、あまり参考にはなりません。

そこで、最近、個人的なブームになっているGoogleトレンドの出番です。
まずは、世界的な人気から。

もと東大生もと社長の自由奔放ブログ Just do it now!-PHPフレームワークの世界のトレンド2012年12月
▲PHPフレームワークの世界でのトレンド(2012年12月)

2012年12月に着目すると、CodeIgniterが約40%を占め、
CakePHP、Symfony、Zend Frameworkと続いています。

長期的なトレンドとしては、
2009年をピークにZend Framework、CakePHP、Symfonyは30~50%ほど低下しています。
そんな中、CodeIgniterだけは増加傾向にあります。


もと東大生もと社長の自由奔放ブログ Just do it now!-PHPフレームワークの世界のトレンド
▲PHPフレームワークの世界でのトレンド

日本でも見てみましょう。

もと東大生もと社長の自由奔放ブログ Just do it now!-PHPフレームワークの日本のトレンド2012年12月
▲PHPフレームワークの日本でのトレンド(2012年12月)

日本では圧倒的にCakePHPが人気なようで、7割近くをCakePHPが占めています。
続いて、CodeIgniter、Symfony、Zend Frameworkと続きます。

長期的には、ピークからの落ち方がもっと大きく、
世界でのトレンドと同じく2009年をピークに50~80%ほど低下しています。
CodeIgniterは横ばいを続けています。

もと東大生もと社長の自由奔放ブログ Just do it now!-PHPフレームワークの日本のトレンド
▲PHPフレームワークの日本でのトレンド

CodeIgniterの今後のトレンドに注目しつつ、
今はCakePHPを身につけるのがよさそうですね。

CodeIgniterは東南アジアを中心に広まる


トレンドを見ていて、もう一つ面白いことに気が付きましたので、
紹介させていただきます。

$もと東大生もと社長の自由奔放ブログ Just do it now!-CodeIgniterの世界のトレンド
▲CodeIgniterの世界での地域別トレンド

人気のCodeIgniterですが、その人気は東南アジアに集まっているようです。
これが何を意味しているかというと、PHP案件の東南アジアでの
オフショア開発が増えているということですね。
フレームワークのトレンドを調べても、結構いろいろなことが見えてきます。

ちなみに、CodeIgniterとCakePHPはとりあえずインストールしてみました。
また別の記事でご紹介したいと思います。
AD