2009-09-15 20 views
9

ho iniziato imparare GWT con l'esempio sul google e la mia prima conclusione è: troppo codiceRidurre la complessità del codice per GWT

Ti piace questa:

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"); 

Vuol GWT hanno alcuna estensione per ridurre le dimensioni del codice e semplificando la creazione di moduli GWT?

+0

Questo dovrebbe essere formulato ad essere meno polemico, e il soggetto deve essere modificato per essere più utile. –

risposta

11

Un bell'esempio (semplificato ma pulito concettualmente) di GWT UI Design con CSS e HTML è Tags First GWT.

Sono d'accordo con te che se si seguono esempi generici dalla documentazione di Google non è un'esperienza piacevole. Le cose sono cambiate ultimamente, ma non si sono ancora pienamente riflesse nei documenti di Google. Prova quanto segue: prima di proseguire con lo sviluppo GWT, guarda queste 2 presentazioni: Best Practices e Performance Tips.

Senza utilizzare la progettazione dell'interfaccia utente basata su CSS, Bus eventi, GWT-RPC basato su Pattern di comando, livello presentazione MVP e google-gin (implementazione GWT di Guice) è difficile superare la complessità in GWT come in qualsiasi altro framework GUI pesante.

Se ti sono piaciute queste idee (descritte nelle presentazioni sopra) potresti prendere in considerazione gwt-dispatch e gwt-presenter che implementano alcuni di questi modelli.

Alcuni esempi sono: GWT MVP Example e Apache Labs Hupa GWT-based webmail

UPDATE: per l'ultimo nel design MVP per GWT cercano GWT MVP in GWT 2.1 e/o gwt-platform quadri (tra gli altri, che può funzionare per voi).

1

Geez potrebbe aiutarti.

Geez offre layout di stile di facile utilizzo per GWT e una serie di metodi statici per creare widget di uso comune.

0

Usiamo una classe FormBuilder costruire facilmente ed in modo compatto forme in codice:

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(); 
... 

Si tiene traccia della riga e della colonna corrente, stili cellule costantemente a seconda del metodo utilizzato per aggiungerli (etichetta, campo ecc.), assicura spaziatura costante, ecc. Ogni metodo restituisce un FormBuilder per supportare le chiamate concatenate. Cose come wrap() si applicano alla cella aggiunta in precedenza.

Questa classe fa parte del framework GWT Portlets.