Java で利用できる多くのフレームワークがあります。Struts、Swing、JSF 2.0、Spring などが優先度に従って使用されます。実は私も何人かわかりません!
Swingは Web ベースのフレームワークではありません。デスクトップ UI フレームワークです。おそらくSpring MVCと混同しているでしょう。
これらのフレームワークはすべて、次の 2 種類に分けられます。
- リクエスト ベースの MVC フレームワーク (Struts、Spring MVC)。
- コンポーネントベースの MVC フレームワーク (JSF、Wicket)。
コンポーネント ベースの MVC フレームワークは、リクエスト ベースの MVC フレームワークがさらに進化したものと見なされます。より抽象化が必要な場合は、コンポーネント ベースの MVC フレームワークを選択してください (つまり、基本的にビューとモデルになります)。コントローラー部分をより細かく制御したい場合は、リクエストベースの MVC フレームワークを選択してください。
も参照してください。
しかし、私は Java に慣れていないので、そのアーキテクチャを学んでも、どのフレームワークをどのタイプのプロジェクトで使用できるかを判断できません!
個人的な意見として、JSF 2.0 を選びます。
も参照してください。
また、Spring + JSF のようなフレームワークの混合使用に混乱しています。それに対する利点は何ですか?
Spring は、よりインジェクション (制御の反転) フレームワークです。EJB の代替と言えるかもしれません。Spring MVCはリクエストベースのフレームワークです。
以下も参照してください。
私を混乱させているもう 1 つのことは、市場で入手可能な UI コンポーネントについてです。同様に、Primefaces、Ice-faces、MyFaces、Rich-faces があります。組み込みの AJAX をサポートしている場合とサポートしていない場合があります。いくつかのバグも含まれている可能性があります。あらゆるプロジェクトに最適なソリューションを直接提供できるフレームワーク + UI コンポーネントの最適な選択は何ですか?
MyFaces は別の JSF実装であり、残りの部分については、JSF コンポーネント ライブラリについてのみ言及しています。これらは、JSF 実装の上で使用することを意図しています。どちらを選択するかは、機能要件に最も適しているもの (スキニング可能性、ajaxability、拡張可能性など) によって異なります。
個人的な意見としては、 PrimeFaces 2.0が一番見栄えが良いです。
以下も参照してください。