2006年07月18日

CI(Code Igniter)とCakePHP。双子のようで双子ではない。

Code Ingniter も CakePHP も共に、PHP4/PHP5 のどちらでも利用できるPHPフレームワーク。CakePHP が兄だとすれば、Code Igniter は弟だ。兄は出来がいいが気難しいところがあり、弟は単純だが活動的、というところだろうか。

後発の Code Ignier は、「手軽・簡単・直感的」を売りにデザインなどをスマートに決めているが、今後の方向性として、「兄とは違う自分」を求めて葛藤もあるようだ。

Cake使いにも参考になる議論がここにあった。

CI review
http://www.codeigniter.com/forums/viewthread/554/
CI gets a good review on this site however is says one of the “cons” is “Does not seem to support table associations.”
What does that mean?

object persistence layer/Object-relational mapped layer
http://www.codeigniter.com/forums/viewthread/569/

ORM(オブジェクト・リレーショナル・マッピング)をどうするか、という点でCake と CI は住み分けができるのかもしれない。フレームワークとして、コアレベルでORMをサポートし、Ver1.0 に到達した Cake と、スピードと手軽さを重視し、あえて深入りせず、その機能をはずしている CI。

チュートリアルレベルではそれほど違いがないように見えても、実務レベルのコードを書き出すと、書く必要のあるコード量は目に見えて違ってくる。

しかし、現時点では、自分でチューニングしたコードを書いたほうがスピードがあがることも事実だ。また、複数台の MYSQLサーバで運営したいと思う場合に、あまりがちがちに関連付けていないほうが楽だ、というのも事実だ。(MYSQL5が使えるなら心配無用だが……。)

個人的には、Cake にしても、CI にしても、Propel ではなく MyDBO を使って static なDAOモデルを書けるようにしておき、ある程度データベース構造が固まったところでスタティックモデルに移行できるシステムができれば、スピードの点でもメリットがあるのではないかと考えている。

フレームワークを使えば、モデル部分だけ取り替えるのも簡単なので、単純に現在のスピードだけでフレームワークの選別はできない。


posted by SDozono at 11:26| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
WebとCTI、VoIP技術の高みを目指して - 技術者の24時間
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。