Java EE 5の時代のJavaフレームワークはどのように展開していくのでしょうか?その一つのヒントとなるのが,StrutsとShaleに関する最近の動きです。
StrutsとShaleについて簡単に解説すると,
Strutsは言わずと知れたJSP/ServletベースのMVCフレームワーク(Sunの
Craig McClanahanが開発),
ShaleはStrutsのサブ・プロジェクトとして発足したJSF(JavaServer Faces)ベースのフレームワーク(Strutsと同じ
くCraigが開発)です。ちなみにCraigはJSFのSpec Leadも務めています。
Shaleは最近,Strutsのサブ・プロジェクトから離脱して,Apache直下のプロジェクトに移りました。その理由として,
- Shale(およびJSF)は,(これまでのJava開発者と比較して圧倒的に大多数の)「オブジェクト指向のプロではない」開発者でもかんたんに開発できることを目指している。
- Strutsはアクション指向のフレームワークとして優れているが,(Craigの最近の考えに比べると)heavyweightで複雑である。
- StrutsとShale(およびJSF)には,ナビゲーションやバリデーションなど,重複する機能が多く存在している。そのため1つのフレームワークとして両者を統合することは事実上難しく,また1つのフレームワーク内で共存させることは開発者を混乱させることになる。
などが挙げられています。
(その際の経緯は
こちらのスレッドに詳しいので興味のある方は読んでみてください。)
JSFはUIコンポーネントの利用,可搬性を重視したフレームワークで,開発生産性の向上を念頭において仕様策定されています。普通にコーディングしても良いのですが,
Sun Java Studio Creator 2や
NetBeans等のツールを使えば,ほとんどコーディングすることなく開発できます。今後,Javaをアプリケーション開発プラットフォームとして幅広く展開させていこうと考えている方には,有力な選択肢になると思います。
Trackback URL: http://blogs.sun.com/wajima/entry/java_framework_in_the_age