GWTのコードの複雑さを軽減する
-
07-07-2019 - |
質問
google の例でGWTの学習を開始しました私の最初の結論は次のとおりです。コードが多すぎる
これに似ています:
stocks.add(symbol);
stocksFlexTable.setText(row, 0, symbol);
stocksFlexTable.setWidget(row, 2, new Label());
stocksFlexTable.getCellFormatter().addStyleName(row, 1,
"watchListNumericColumn");
stocksFlexTable.getCellFormatter().addStyleName(row, 2,
"watchListNumericColumn");
stocksFlexTable.getCellFormatter().addStyleName(row, 3,
"watchListRemoveColumn");
GWTには、コードサイズを縮小し、GWTフォームの作成を簡素化するための拡張機能がありますか?
解決
CSSとHTMLを使用したGWT UIデザインの良い例(単純化されていますが、概念的にはきれいです)はですタグFirst GWT 。
Googleのドキュメントの一般的な例に従うのは楽しい経験ではないことに同意します。状況は最近変わりましたが、まだGoogleドキュメントに完全には反映されていません。次を試してください:GWT開発を続ける前に、これら2つのプレゼンテーションをご覧ください:ベストプラクティスおよびパフォーマンスのヒント。
CSSベースのUIデザイン、イベントバス、コマンドパターンベースのGWT-RPC、MVPプレゼンテーション層、および google-gin (GuiceのGWT実装)他の重いGUIフレームワークのようにGWTの複雑さを克服することは困難です。
これらのアイデア(上記のプレゼンテーションで説明)が気に入った場合、 gwt-これらのパターンのいくつかを実装するディスパッチおよび gwt-presenter 。
例は次のとおりです。 GWT MVP例および Apache Labs Hupa GWTベースのウェブメール
更新: GWTのMVP設計の最新情報については、GWT 2.1の GWT MVP を参照してください。 /または gwt-platform フレームワーク(他にも機能する可能性のあるもの)。
他のヒント
UiBinder (GWT 2.0)が役立つ可能性があります
Geez が役立つ場合があります。
Geezは、GWT用の使いやすいスタイルレイアウトと、一般的に使用されるウィジェットを構築する一連の静的メソッドを提供します。
FormBuilder クラスを使用して、コードでフォームを簡単かつコンパクトに構築します。
ListBox type = ...
TextBox notes = ...
FormBuilder b = new FormBuilder();
b.label("Chart type").field(type).endRow();
b.label("Notes").field(notes).wrap().endRow();
b.add("Some help text").style("help").wrap().endRow();
FlexTable form = b.getForm();
...
現在の行と列を追跡し、追加に使用するメソッド(ラベル、フィールドなど)に応じてセルを一貫してスタイルし、一貫した間隔などを確保します。各メソッドは、チェーン呼び出しをサポートするFormBuilderを返します。 wrap()
のようなものは、以前に追加されたセルに適用されます。
このクラスは、 GWT Portlets フレームワークの一部です。
http://code.google.com/p/gwt-pectin/をご覧ください。 UiBinderと組み合わせて