フレームワーク

新しいシステムを構築するとき、フレームワークは何がいいかって聞かれることが多い。これって正直不思議な質問だと思う。
フレームワークってフレームワークが独立であるわけじゃなくって、こんな開発の仕方するなら、最適化できる仕組みがあるよってのがフレームワーク。逆にこのフレームワークを使いたいってなったら、開発の仕方も自ずと決まる。
なのに、フレームワークって部品がボタン部品みたいにあるような聞かれ方がほとんど。設計や文書成果物とかレベルで違うんだけどなぁ。
たとえば、Web系MVCフレームワークで有名なのがStruts、1.x系と2.x系があったりする。2.x系はよく知らないけど、StrutsだとXMLで定義ファイルを書く。View層は別のフレームワーク組み合わされることが多いみたい。DBとのインターフェースは含まれていないから、これもほかの仕組みがいる。
ってことで、結構はじめるのが難儀なのよね。立ち上がりにコストを食っちゃうのがフレームワーク導入の難点かなぁ。
最近は、Seasarにはまっているから、Struts使いたいなら、S2Struts。でもお勧めは、Teedaなんていっているけど、それでも。S2StrutsだとView層はMayaaだったりするので、躊躇しちょうみたい。
曰く、メジャーじゃないからだと。んじゃ、製品を買って使えばいいじゃんっていうと、知らないそうな。なんだかなぁ。傾向を見るとどのアプリケーションサーバーも自前のフレームワークはどこかに提供してオープンソースとして開発するか、オープンソースのものを採用するかしている。どれかを入手して調査するくらいのことができないのかな。


Seasarメーリングリストを見る限り、
Teeda+Daoって選択はWeb系でまずまずの選択なんだと思ってる。Teeda ExtensionでHTMLが気に入ってるけど、高負荷の場合どうかの調査までしていないなぁ。
あと、Validationは結構話題になっているようだけど、イントラだと、JavaScriptを使える前提にできるんで、
T_currencyやT_dateみたいな、入力結果をチェックするんじゃなくって、入力そのものをチェックしたり、編集できる機能は結構ほしいところだと思う。たとえば・・・

  • 半角のみ
  • 半角数字のみ
  • 半角英字のみ
  • 全角のみ

とかとか
日付も、和暦がまだまだつかわれている。まぁ、フレームワークから見るとどちらかというと枝葉だから、まずは現場で何とかしなきゃぁね。*1

*1:さっきメーリングリストを読んでいたら、クライアント処理についての記述があった。手が回らないとか。使うだけの立場から言えば、ここまで使えるものがあるだけでもうれしいから、無理しないように進めてもらえればうれしい。