9

GWT を既存のWeb アプリケーションのフロントエンドとして利用することを検討しています。

一度に 100% GWT に完全に書き直すことを正当化することはできません。システムの一部を徐々に GWT に移行する可能性があります。ただし、一貫性を保つために、最初から GWT の TabPanel、MenuBar などをグローバル インターフェイス要素として利用したいと考えています。

システムの「レガシー」部分をどのように組み込むことができるかを確認するための実験として、私は次のことを行いました。

アプリケーションのメイン ページ テンプレートは、すべてのページに小さな「ラッパー」GWT モジュールをロードするようになりました。この GWT モジュールは、動的に生成されたホスト ページで選択された DIV を探します。DIV が見つかった場合、適切なウィジェット、つまり menuBar、tabPanel が配置されます。

含まれているウィジェットの構成の多くは、JSON 構造としてホスト ページに挿入することもできます。たとえば、この方法で TabPanel を動的にセットアップするアダプターを実装しました。また、リモート HTML などをロードする非常に単純なウィジェットもいくつか追加しました。

プロトタイプとして、これはすべて完璧に機能しているように見え、すばやくロードされます。ただし、GWT アプリは実際には、動的に生成された何百ものホスト ページではなく、単一のホスト ページから実行するように設計されているようです。

特にGWTモジュールのサイズが大きくなるにつれて、上記のアプローチが遭遇する可能性のある問題を誰かが強調できますか? 従来のラッパー モジュールを意図的に無駄のないものにすることを目指しています。他の機能は、別のモジュールに実装されます。

他の人々はどのように GWT をフロントエンドに段階的に統合しましたか?

4

2 に答える 2

5

GWTを使用するように設計された方法の1つは、使用したとおりです。多くのアプリでこれを行っています。特定のIDがページに存在するかどうかに基づいて読み込まれる、複数の「パーツ」を持つ1つのGWTモジュールがあります。ですから、このように進んでも問題が発生することはないと思います。このアプローチは、アプリケーション全体をGWTでコーディングするのではなく、ページにいくつかの「ウィジェット」が必要な新しいWebアプリケーションでもよく使用されます。

大きな違いはありませんが、GWT javascriptコードをメインテンプレートに配置するのではなく、それを必要とするページにのみ配置することをお勧めします。HTTPを実行していない場合、基本的に永久にキャッシュされるのは事実ですが、そのページで実際に必要とされていない場合、モジュールにユーザーをロードさせるのは間違っているようです。もちろん、これは人々があなたのサイトをどのように使用するかに依存します、彼らがとにかくそれをダウンロードする可能性が高いなら、それは何の違いもありません。

于 2008-12-13T00:49:24.600 に答える