0

パフォーマンスの向上と GWT で構築された RIA (Rich Internet Application) に関して、私はなじみのない領域に足を踏み入れ始めています。GWT に慣れていない人のために説明すると、GWT をデプロイすると、基本的に純粋な JavaScript になります。XMLHttpRequest を介して REST スタイルの XML Web サービスを使用して、サーバー側とやり取りしています。

XML は JavaScript オブジェクトにアンマーシャリングされ、インターフェースの背後にあるデータ モデルを表すためにアプリケーション内で使用されます。変更が発生すると、モデルが更新されて XML にマーシャリングされ、サーバーに送り返されます。

私は、(ユーザー エクスペリエンスの観点から) パフォーマンスの第 1 のルールは、できるだけ少ないリクエストを行うことであることを学びました。明らかに、これはキャッシングの可能性をもたらします。キャッシングは静的データには最適ですが、サーバー上のデータが変更される可能性があるマルチユーザー システムでは扱いが難しくなります。また、「Last-Modified」および「If-Modified-Since」リクエストの使用は、不必要なリクエストを完全に回避したいため、十分ではありません。

アプローチを調査する前に、ブラウザーにデータをキャッシュすることが適切かどうかを判断しようとしています。誰かが以前にこの道を歩いたことがあることを願っています。同様のアプローチ、学んだ教訓、避けるべきことなどを探しています。

必要に応じて、より具体的な情報を提供していただければ幸いです...

4

1 に答える 1

0

GWT の場合、パフォーマンスが重要な場合は、複数の小さなデータをクエリするのではなく、必要なすべてのデータを 1 回のリクエストで送信することにより、パフォーマンスが向上します。データをデータベースと同期させておくなど、多くの問題があるため、クライアント側のデータ キャッシュはお勧めしません。

さらに、従来の HTML アプリケーションよりも GWT の方が有利です。特別なデータを扱っていない限り (例: すぐに古くならない - ほとんどが読み取りクエリであることを意味する)、キャッシングの特別な必要性がないことがわかりました。ほとんどの時間はサーバー側の処理に費やされるため、サービス層のキャッシングを行う方がよいでしょう。

アプリの性質についてさらに詳しく説明できる場合は、いくつかの異なる結論が得られる可能性があります。

于 2009-01-29T16:05:51.693 に答える