2009-09-15 9 views
9

zacząłem uczyć GWT przez przykład na google i mój pierwszy wniosek jest taki: zbyt dużo koduZmniejszanie kodu złożoności dla GWT

Jak to:

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

Czy GWT mają żadnych rozszerzeń do zmniejszania rozmiaru kodu i upraszczanie tworzenia formularzy GWT?

+0

To powinno być sformułowane być mniej kłótliwy, a obiekt powinien być edytowane być bardziej użyteczne. –

Odpowiedz

11

Dobrym przykładem (uproszczone, ale czyste koncepcyjnie) GWT UI Design z CSS i HTML jest Tags First GWT.

Zgadzam się z Tobą, że jeśli ktoś podąża za przykładami z dokumentacji Google, nie jest to przyjemne doświadczenie. Rzeczy zmieniły się ostatnio, ale nie zostały jeszcze w pełni odzwierciedlone w dokumentach Google. Spróbuj wykonać następujące czynności: przed rozpoczęciem tworzenia GWT obejrzyj te 2 prezentacje: Best Practices i Performance Tips.

Bez użycia CSS oparte UI design, Bus zdarzenia, wzór komend oparty GWT-RPC, MVP prezentacja tier i google-gin (realizacja GWT z Guice) trudno przezwyciężyć złożoność GWT podobnie jak w każdym innym ramach ciężki GUI.

Jeśli podobają Ci się te pomysły (opisane w powyższych prezentacjach), możesz rozważyć wprowadzenie gwt-dispatch i gwt-presenter, które implementują niektóre z tych wzorów.

Kilka przykładów: GWT MVP Example i Apache Labs Hupa GWT-based webmail

UPDATE: dla najnowszych konstrukcji MVP dla GWT szukać GWT MVP w GWT 2.1 i/lub gwt-platform ramy (między innymi, że może pracować dla Ciebie).

1

Geez może pomóc.

Geez zapewnia łatwe w użyciu układy stylów dla GWT i szereg statycznych metod budowania często używanych widżetów.

0

Używamy klasy FormBuilder łatwo i zwięźle konstruować formy w postaci kodu:

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

Śledzi bieżącego wiersza i kolumny, style komórki konsekwentnie w zależności od zastosowanej metody, aby je dodać (etykiety, pola itp.), zapewnia spójne odstępy, itp. Każda metoda zwraca FormBuilder do obsługi połączeń łańcuchowych. Rzeczy takie jak wrap() mają zastosowanie do poprzednio dodanej komórki.

Ta klasa jest częścią framework GWT Portlets.

Powiązane problemy