2011-11-07 4 views
7

Budujemy dużą aplikację dla przedsiębiorstw (dziesiątki modułów) z GWT i musimy zdecydować, czy używać ClientBundle czy nie. Byłem ciekawy, jakie zalety/wady widział wspólnik StackOverflow GWT jako twórcy transakcji i łamacze umów w takim przypadku użycia.Użyj ClientBundle w dużej aplikacji korporacyjnej?

O ile nam obecnie zobaczyć:

Plusy

  • wszystkich obrazów/plików css, które zajmują zasoby serwera do pobrania są eliminowane
  • obciążenia klienta szybciej ze względu na powyżej (tj. wstawione adresy URL obrazów)
  • Nazwy CSS są zaciemniane, więc kolizje przestrzeni nazw są eliminowane.
  • CSS to auto tycznie optymalizowany/zweryfikowane
  • Niewykorzystane klas CSS są eliminowane (powyżej)
  • Java odniesienia do nazw klas są zastępowane refactorable interfejsów css
  • UiBinder odniesienie do nazwy klas są zastępowane refactorable interfejsów css
  • No more big " main.css”nie jako zasobów moduł wiązka specyficzna

Wady

  • CSS technicznego staje się albo nieczytelne w trybie zaszyfrowanej, lub bardzo gadatliwy w trybie debugowania
  • Więcej kroki potrzebne do podstawowej pracy CSS (jak dodanie klasy)
  • Wszystkie deweloperów muszą wiedzieć, Java, CSS, HTML niuansów
  • CSS3 i inne zasady (np @ Font-face) nie są obsługiwane przez GWT natywnie
  • Zwiększone czasy kompilacji

Dzięki!

Odpowiedz

8

Używam intensywnie pakietu klienta w m-gwt.

Jedną z rzeczy, która mnie niepokoiła była stylizacja na urządzenia, które nie miały trybu programisty. Stylizacja może więc oznaczać rekompilację kompletnej aplikacji.

Głównie wszystkie reguły CSS3 mogą być używane w ClientBundle za pomocą funkcji literału, więc powinno być w porządku. Robi się trochę tricker z zapytaniami @media. Możesz wstrzyknąć css jako proste źródło tekstowe jako obejście, ale jego rodzaj brzydki.

Kiedy mówimy o kilku GWT modułów, należy rozważyć użycie wielu clientbundles więc nadal można korzystać podzielone punktów, aby utrzymać rozmiar plików do pobrania pod kontrolą (w zależności od tego, jak duże pliki JavaScript powinny dostać)

Użyłem pakiety klienta w kilku dużych aplikacjach gwt i dla mnie kompilacja sprawdzania czasu i obsługa refaktoryzacji bije małe dziwactwa, które wciąż są w pakietach klientów.

+0

Dzięki Daniel! To była też moja nadzieja. Obecnie zawodowcy wydają się przeważać nad wadami. Mam nadzieję, że każdy ma takie samo doświadczenie jak ty i że nie ma zbyt wielu wad. –

2

Zaledwie dwa dodatkowe noty:

  • Jest utility dostępny w GWT, który pozwala na automatyczne tworzenie interfejsów dla CSSResources
  • To prawda, że ​​debugowanie stylów może być trochę kłopotliwe ze względu na ukrywane nazwy. Miałem dobry sukces, używając Firebug do zmiany stylów w trybie deweloperskim bezpośrednio w przeglądarce i kiedy jestem zadowolony, zmieniam je w mojej aplikacji GWT.
+0

Dzięki Timeu. Znalazłem to narzędzie i jest całkiem przydatne. Być może, gdyby można było w pełni zautomatyzować budowanie tych interfejsów i modyfikować pliki ui.xml, które ich używają ... wtedy nasi użytkownicy UI nie musieliby edytować pół tuzina plików w celu zmiany klasy. –