質問

同僚によって開発されたJSFプロジェクトを見ましたが、これらのプロジェクトは非常に遅いように思えました。誰も同じ意見を持っていますか?

現在、「リッチ」のためにjsp + jstlとjQueryを使用しています。クライアント。

現代のフレームワーク(jsf、wicket、tapestry ..)が古いプレーンなjspに比べて、どのような利点と欠点があるのだろうか。

これらの技術をすべて使用した人々が答えてくれたら素晴らしいと思います。

また、私にとって興味深いのは、最もエキサイティングな機能によってjspを離れて「マス」を使用するようになったことです。フレームワーク(たとえば、SpringのAOPなど、気付くことができるもの)。

すべてのコメントをありがとう。

役に立ちましたか?

解決

CGI、PHP、JSP、Struts、Spring MVC(1.2)、Beaワークショップ、JSF、JBoss Seam、Spring MVC(2.5)および Wicket (この順序で)。私が取り組んだ新しいテクノロジーごとに生産性と品質の両方が急上昇していることに気付きました。それはちょうどよく機能し、気分が良い。私は他のすべてよりもWicket(バネ、クォーツなど)が好きです。正直言って、私は光を見たと言うことができます、そして、私は暗い側に戻りたくありません-またはより軽い;)-サイド。

Wicketについて多くのことを言います。

  • 会話型サポート(またはタブ対応)はデフォルトで提供されます。「新しいタブで開く」について心配する必要はありません。および「戻る」ボタンの問題が再び発生します。
  • コンポーネントベースであるため、swingのコードを再利用できます。
  • 型安全性の驚異のように、標準Javaの多くを活用します。
  • URL暗号化などの高度なセキュリティ機能をサポートしています。
  • デフォルトでクラスタ化可能なアプリケーション。
  • そして、最も重要なことは、使用するのは楽しいです。

JSPとJSFには改善すべき点がたくさんあります。

  • 最も気にかかるのは、「EL」です。ナンセンス、私はそれが素晴らしいJava型の安全性と強度を壊すと信じているからです。
  • 両方とも高い生産性のためにツールのサポートが必要です。
  • 問題を実際に解決するには、両方の上に別のフレームワークが必要です(seamフレームワークで見られるように、JSFが使用可能になります)。
  • エラー処理は非常に注意が必要であり、例外は簡単には役立ちません。
  • 両方のフレームワークで再利用可能なコンポーネントを作成することは難しく、懸念の分離のための適切なモデルをサポートしていません。
  • ...そして、最も重要なことは、 this 、またはこれ

他のヒント

私は、JSP 2.0をテンプレートテクノロジとして完全に使用することを好みます。つまり、Spring MVCを使用してドメインオブジェクトにアクセスし、特定のビューに必要なすべてのデータを準備し、JSPに残してレンダリングします。 JSP 2.0は、他の合成フレームワークが必要な場合に単純なJSP 2.0を使用できるようにするテンプレート合成にタグファイルを使用するのが好きだからです。

私は、基本的にプログラミングであるJSPのすべてを意図的に避けています。データアクセス、SQL、スクリプトレット、メソッド、メソッドはありません。既存のコントローラーが提供するデータを、単純な場合とコレクションの反復を使用して単純に表示します。

多くの利点。私が使用したJSFの利点を列挙できます 私の最後のプロジェクトで。

  • (ストラットのような)ナビゲーションのための集中化された場所
  • 日付ピッカー、オートコンプリート、ページングなどのコンポーネント
  • 多くのレイアウトロジックを容易にするレイアウトのレンダリングがあります。
  • ストラットなどのタイルの可用性。

JSPは、ビジネスロジックとレイアウトを明確に区別しません。

とにかく、この利点はすべてありますが、あなたがJavaプログラマーなら、

JSPは非常に原始的であり、基本的にウィジェットはなく、自分ですべてを構築する必要があります。 JSFは改善はJavaの最高のWebフレームワークではありません-GWTなど、はるかに印象的な結果を達成できるものは他にもたくさんあります。

Spring MVCの利点:

  • フレームワークは、依存性注入を使用し、アプリケーション設計をドメイン(モデル)オブジェクト、コントローラー、サービスクラス、DAOなどに分割することにより、より適切に設計されたコードを書くことを微妙に奨励します。
  • 最初の箇条書きの副作用として、コードは最終的に非常にになり、ユニットテストが容易になります。
scroll top