JavaとLL
Seasar自体を使うかどうか、とかいうレベルではなくJavaという重量級言語でもテクニックを駆使することでここまでLL的に開発が行える、という意味でです。
Seasar2を使えば確かにLL的な開発が可能です。でも、Javaでそこまでがんばらなくても、LLを最初から使ったほうがいいんじゃないのと思われる方もいるでしょう。WEB+DB Pressの「Alpha Geekに逢いたい」で小飼弾さんにもそういわれました。
システムの一生というものを考えたときに、LL的な開発が必要なのはほんの一瞬です。大部分は、運用のフェーズなのです。運用で大切なのは、「安定性」と「パフォーマンス」で、LL的な側面ではない。
Railsの得意なところはRailsに任せればいいじゃんとは考えなかったんですか。
だから私は「Railsに任せればいいじゃん」とは考えない。「LL的な面が必要な場合は、HOT deployを使い、それ以外の局面では、Java本来の良さを生かす。」という風に考えます。Javaならどっちも手に入る。
Seasar2では、開発フェーズをデフォルトで4段階に定義しています。もちろんこのフェーズはカスタマイズが可能です。四つのフェーズとは
で構成され、HOT deployになるのはctの時だけです。env.txtを書き換えるだけで、これらのフェーズを切り替えることができます。