Temat: Vaadin i doświadczenia
Pawel Dolega:
Szczerze mówiąc po kilku latach w Wicket-cie i dotknięciu kilka razy GWT myślałem, że pytanie powinno być raczej odwrotne: "Jak można coś bardziej skomplikowanego pisać efektywnie w Wicket-cie / GWT (nie znam niestety zbyt dobrze JSF) tak by nie walczyć z materią ?". Po wypowiedziach osób w tym wątku widzę jednak, że można.
GWT dobrze się sprawdza w specyficznych zastosowaniach, które mają bardzo rozbudowany model formularzy i skomplikowaną logikę ich walidacji, wypełniania danymi itp. (w tej chwili robimy np. workflow do zarządzania procesem prac planowych u operatora telekomunikacyjnego - drzewa, zaawansowane filtry, filtrowanie dużych tabel w oparciu o predykaty i operacje na kolekcjach, dużo zależności pomiędzy polami, zagnieżdżone modele). Zaczęliśmy używać GWT w 2008, gdzie de facto nie było jeszcze frameworka i dużo rzeczy trzeba było wymyślać samemu. Popełniliśmy sporo błędów i dużo się nauczyliśmy ;-)
Sporo się poprawiło po wprowadzeniu "Cell widgets" i "Editor framework", z tym że zmasterowanie tego drugiego dla zaawansowanych przypadków (np. listy widgetów, zagnieżdżone modele) wymaga sporo pracy, ale generalnie opłaca się.
Nie gloryfikuję GWT, bo uważam że ma swoje wady. Przede wszystkim:
1. Sporo "boilerplate", żeby pożenić model danych GUI i model biznesowy w EJB - to jest chyba główny ból i spora bariera przy mniejszych projektach.
2. Czas kompilacji dużych projektów (u nas w tej chwili 2-3 minuty na jedną przeglądarkę)
3. Dość wolne odświeżanie zmian w development mode
Podsumowując chciałbym mieć framework który dawałby możliwości GWT, ale żeby cały "development cycle" był tak szybki jak w Playu ;-)