2

Java で利用できる多くのフレームワークがあります。Struts、Swing、JSF 2.0、Spring などが優先度に従って使用されます。実は私も何人かわかりません!

しかし、私はJavaに慣れていないので、アーキテクチャを学んでも、どのフレームワークをどのタイプのプロジェクトで使用できるかを判断できません!

また、Spring + JSF のようなフレームワークの混合使用に混乱しています。それに対する利点は何ですか?

私を混乱させているもう 1 つのことは、市場で入手可能な UI コンポーネントについてです。同様に、Primefaces、Ice-faces、MyFaces、Rich-faces があります。組み込みの AJAX をサポートしている場合とサポートしていない場合があります。いくつかのバグも含まれている可能性があります。あらゆるプロジェクトに最適なソリューションを直接提供できるフレームワーク + UI コンポーネントの最適な選択は何ですか?

4

4 に答える 4

9

Java で利用できる多くのフレームワークがあります。Struts、Swing、JSF 2.0、Spring などが優先度に従って使用されます。実は私も何人かわかりません!

Swingは Web ベースのフレームワークではありません。デスクトップ UI フレームワークです。おそらくSpring MVCと混同しているでしょう。

これらのフレームワークはすべて、次の 2 種類に分けられます。

  1. リクエスト ベースの MVC フレームワーク (Struts、Spring MVC)。
  2. コンポーネントベースの 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が一番見栄えが良いです。

以下も参照してください。

于 2010-06-17T15:05:11.047 に答える
2

特効薬はありません。

1つを選択できない場合は、ソフトウェアアーキテクトにニーズに合わせて選択させてください。または、それらすべてで遊ぶ必要があります。

于 2010-06-17T14:23:41.277 に答える
1

さまざまな種類の問題のためのフレームワークがあります。

JSF は、サーブレット/JSP に基づいた Web フレームワーク (または Web フレームワークの API の方が適切) であり、Web フロントエンドを処理します。一方、Spring は、アプリケーションを構成し、アプリケーション コンポーネントを実行中のアプリケーションに結び付けるフレームワークです。 .

したがって、JSF フレームワークを使用して Web-UI を作成し、ユーザーとやり取りする小さなコンポーネントを構築し、Hibernate を使用してデータベースにデータを保存および取得し、それらを Spring と結び付けて本格的な Web アプリケーションを作成できます。 .

JSF は単なる API であるため、IceFaces のような実装が必要になります。明確に仕様に従っている場合、実装は簡単に置き換えることができます。したがって、アプリケーション全体を書き直すことなく、IceFaces から MyFaces に切り替えることができます。

于 2010-06-17T15:08:30.310 に答える
0

右。質問はすべてについてのようです。特に、Struts と Swing についてカンマで言及しています。Swing ももちろん農作業ですが、これは Web 以外の多くの UI フレームワークの 1 つです。ORM フレームワークやその他の多くの種類のフレームワークもあります。EJB および Spring フレームワークと呼んでもいいですか? きっとそうかもしれません。悪いことに、直観的なレベルでは、何かがフレームワークであるかどうかはよくわかりますが、ソフトウェアのフレームワークとは何かについての適切な定義を見たことがありません。約 50% のケースで、Struts、JSF、Wicket、Velocity、HybridaJava、または Spring の MVC 部分などの Web フレームワークについて話しています。Java Web フレームワークだけで約 50 あり、そのすべてが非常に異なる性質と価値を持っていますが、それらを比較することは本当に頭の痛い問題です。最近、ウィキペディアに Web フレームワークに関する新しいページが増えていることに気付きました。かなりの遅れ、しかし、今それを持っていることは素晴らしいことです。そこにあるテーブルは、比較のための良いスタートです。

于 2010-06-23T00:31:00.943 に答える