Webアプリケーションフレームワークとモデルの関係

Catalyst Conference #1の発表資料見てた。

ぼくもWebアプリケーションフレームワークにモデルの機能って本当は要らないんじゃないかと思っていて、その辺は何の依存性もないコードで構成されているべきだと考えている。

Strutsってモデル機能持ってないでしょ? Ruby on RailsがActive Recordを内蔵していたことで、一気に全部入りのフレームワークがもてはやされるご時世になってしまった感があるけれど、Active Recordだって元々は単体で利用できるライブラリ。それをRailsに上手に統合しているだけだよね。Railsフルスタックな志向で作られてるものだからそれでいいと思うけど、世の中のフレームワークが全部その方向になる必要なんてない。

だから、Zend Frameworkの方向性はある意味正しいんじゃないかと思ってみたりもする。Webアプリケーションフレームワークとして使いづらいのが最大の欠点だけれど、でも自身としてはモデル関連の機能を持ってなくて、単なるライブラリとして内包しているスタイルは案外いいんじゃないかな。