スタッフブログ

  • カテゴリ XOOPS の最新配信
  • RSS

なぜXOOPS Cubeのモジュール開発にCakePHPを使うことにしたのか

Ryuji : XOOPS » 総合的な情報 2008/10/27 20:55

Blogger's Avatar


先週の土曜日に、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のモジュールを開発していきます。
そのなかで、フィードバックできそうな事はこのスタッフブログや、各開発コミュニティにフィードバックできればと考えています。

トラックバック

スタッフブログ最新
カテゴリ一覧

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.