Domanda

Ho iniziato a imparare GWT con l'esempio su google e la mia prima conclusione è: troppo codice

In questo modo:

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 ha delle estensioni per ridurre le dimensioni del codice e semplificare la creazione di moduli GWT?

È stato utile?

Soluzione

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

Sono d'accordo con te sul fatto che se si seguono esempi generici dalla documentazione di Google non è un'esperienza piacevole. Le cose sono cambiate di recente, ma non si riflettono ancora completamente nei documenti di Google. Prova quanto segue: prima di proseguire con lo sviluppo di GWT guarda queste 2 presentazioni: Best Practices e Suggerimenti sul rendimento .

Senza utilizzare la progettazione dell'interfaccia utente basata su CSS, il bus eventi, il GWT-RPC basato sul modello di comando, il livello di 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- invio e gwt-presenter che implementano alcuni di questi schemi.

Alcuni esempi sono: GWT MVP Esempio e Webmail basato su GWT di Apache Labs Hupa

UPDATE: per le ultime novità nel design MVP per GWT cerca GWT MVP in GWT 2.1 e / o piattaforma gwt (tra gli altri che potrebbero funzionare per te).

Altri suggerimenti

UiBinder (GWT 2.0) potrebbe essere utile

Geez potrebbe aiutarti.

Geez offre layout di stile facili da usare per GWT e una serie di metodi statici per creare widget di uso comune.

Usiamo un FormBuilder per costruire facilmente e in modo compatto moduli nel 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();
...

Tiene traccia della riga e della colonna correnti, modella le celle in modo coerente a seconda del metodo utilizzato per aggiungerle (etichetta, campo ecc.), assicura una spaziatura coerente, ecc. Ogni metodo restituisce un FormBuilder per supportare il concatenamento delle chiamate. Cose come wrap () si applicano alla cella precedentemente aggiunta.

Questa classe fa parte del Portlet GWT .

Scopri http://code.google.com/p/gwt-pectin/ in combinazione con UiBinder

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top