スタッフブログ
先週の土曜日に、CakePHPカンファレンスに参加してきました。
というのも、RYUSで今後モジュール開発にCakePHPを活用することを決めたからです。
# 実際に、現在開発中の案件でCakePHPを使ってモジュール開発をしています。
さて、では何故CakePHPでXOOPS Cubeのモジュール開発をしようと思ったのか?
まず、よくある誤解を解消しておきます。
XOOPS Cubeのことを、PHPフレームワークだと誤解されてる方がいますが、
XOOPS Cubeは、PHPフレームワークではありません!
XOOPS Cubeは、WindowsやXwindowの様に、OSとかプラットホームのようなものだと私は思っています。
# 私は、Webアプリケーションプラットホームとか、モジュールプラットホームなんて呼び方を良くしてます。
もちろん、XOOPS CubeにもXOOPS Cubeらしいモジュールを開発するためのライブラリなどはありますが、多くのフレームワークが備えているような、開発を楽にしてくれるような仕組みはほとんどありません。
方針が変わらなければ、XOOPS Cube本体に何か特定のフレームワークが組み込まれることもないでしょう。XOOPS Cubeプロジェクトのフレームワークに対するポリシーは「フレームワークを組み込まないので、好きなフレームワークを利用してね」というものですから。
さて、そんなフレームワークレスで、WebアプリケーションプラットホームであるXOOPS CubeにRYUSとして、何らかのフレームワークを採用しようと思い、選んだのがCakePHPでした。
では、なぜCakePHPを選んだのか?その理由を3点挙げたいと思います。
■理由1.参考情報の多い CakePHPでモジュール開発できる。
私がminahito氏が開発されたXOOPS専用フレームワーク exFrame に慣れていたり、その後のコードジェネレータ兼XOOPS Cube専用フレームワークであるcubsonにも慣れていたので、RYUSでは、ながらく cubson を利用してモジュール開発をしていました。
しかし、XOOPS Cube専用&コードジェネレータはWindowsでしか使えないため、利用者が増えず、ネット上の情報も少ない状態なので、私以外のスタッフに cubsonベースの開発を理解してもらうのが困難な状態でした。
その点、CakePHPであればネット上の情報量も多いし、書籍もあるので、フレームワークとしての使い方は、書籍等で学習してもらえます。
モジュール開発にPHPフレームワークを導入しようと思った理由の一つは、この情報量の多さ、習得するための環境がそろっている点です。
■理由2.CakePHPは、PHP4にも対応している
今は、可能であれば納品先サーバはPHP5にしてもらっていますが、他のシステムの関係でPHP4にせざるをえないということもあります。
そんなときに、せっかく慣れたPHPフレームワークが使えないというのは不便です。
その点、CakePHPは、PHP4にも対応しているのが高く評価できます。
■理由3.多くのプログラマが「これから覚えるならCakePHP」と答えた
XOOPS Cubeのモジュール開発に cubson以外のなんらかのフレームワークを利用したいと考え始めたときに、XOOPS Cubeに組み込むフレームワークとしてでなく「これから覚えるとしたらどのフレームワークがいいと思う?」ということを何人かのPHPプログラマに聞いてみたことがあります。
この質問に対して「自分は○○をつかってるけど、これから覚えるならCakePHPかなぁ」といように、CakePHPをおすすめしてくれる方が多かったというのも、CakePHPを使うことにした理由の一つです。
多くの開発者がおすすめするということは、それなりに評価できる点が多いということだと思っています。
というわけで、今後RYUSでは、CakePHPでXOOPS Cubeのモジュールを開発していきます。
そのなかで、フィードバックできそうな事はこのスタッフブログや、各開発コミュニティにフィードバックできればと考えています。