2009-09-15 165 views
9

我開始學習的榜樣GWT上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表單?

+0

這應該表述要少議論,且應當對受試者進行編輯,以更加有用。 – 2009-09-15 09:32:46

回答

11

使用CSS和HTML的GWT UI設計的一個很好的例子(在概念上過於簡化但簡潔)是Tags First GWT

我同意你的看法,如果你遵循Google文檔的通用示例,那不是一個愉快的體驗。儘管最近發生了變化,但它們還沒有完全反映在Google文檔中。嘗試以下方法:在開始GWT開發之前,請觀看以下2個演示文稿:Best PracticesPerformance Tips。如果不使用基於CSS的UI設計,基於事件總線,基於命令模式的GWT-RPC,MVP表示層和GWT的GWT實現,就像在任何其他重型GUI框架中一樣,很難克服GWT中的複雜性。

如果您喜歡這些想法(在上面的演示中進行了介紹),您可能需要考慮實現其中一些模式的​​和gwt-presenter

幾個例子:GWT MVP ExampleApache Labs Hupa GWT-based webmail

更新: 在MVP設計最新的GWT尋找GWT MVP在GWT 2.1和/或gwt-platform框架(以及其他可能爲你工作)。

1

Geez可以幫助你。

Geez爲GWT提供了易於使用的樣式佈局和一系列構建常用小部件的靜態方法。

0

我們使用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框架的一部分。