- W aplikacji którą poprzednio pisałem w GWT największym problemem wydajnościowym było wyświetlanie bardzo dużych tabel ze złożoną HTML'ową zawartością. Dopóki zawartości komórek tabeli są prostym tekstem wszystko jest ok. Widgety Ext GWT są jednak dosyć "ciężkie", w szczególności w połączeniu ze skomplikowanym layoutem strony. Większość przykładów Ext GWT wykorzystuje stosunkowo proste layouty, bez wielokrotnego zagnieżdżania komponentów (kontenerów i paneli), w których nie widać problemów z wydajnością. Nie znaczy to, że nie można napisać aplikacji w Ext GWT, która jest szybka - można, ale lepiej od początku próbować stosować jak najprostsze layouty. Z drugiej strony w samym GWT jak i w Ext GWT są wprowadzane optymalizacje mające rozwiązywać problemy z wydajnością renderowania.
- Na stronie Ext GWT jest też sporo przykładów tabel/formularzy z buforowaniem danych z serwera.
- Widgety w Ext GWT w wersji 2 nie działają dokładnie tak samo jak widgety GWT - mają inny "cykl życia" i nie implementują tych samych interfejsów. Przez to nie można zupełnie swobodnie mieszać widgetów Ext GWT i GWT. W wersji 3 ma się to zmienić. To bardzo istotna zmiana na plus, która ułatwi korzystanie z wszystkich możliwości GWT i przyspieszy naukę frameworku poprzez kompatybilność ze strandardem. Cytat ze strony
http://www.sencha.com/products/extgwt/road-map/:
Ext GWT 3.0 Product Roadmap
-
GWT 2.0 and 2.1 core compatibility including:
-
GWT Handler design replaces Ext GWT 2 events and listeners
-
Interface-based design that supports MVP and mocking
-
RequestFactory and Autobean support
-
UIBinder for Components and Containers
-
And more…
-
Non-lazy rendering
-
New multi-platform charting system
-
ARIA & Accessibility
-
New UI Widgets including tri-state-tree
Nie wiem dokładnie na ile nowa wersja będzie kompatybilna wstecz z wersją 2. Domyślam się, że przejście z 2 na 3 będzie wymagało manualnych zmian kodu robionych wg. instrukcji. W najlepszym razie będzie jakaś automatyczna konwersja. Myślę, że to bardzo istotna kwestia, którą należy się zainteresować (spytać na forum?) przed rozpoczęciem pracy w tym frameworku.
- Jeśli mowa o forum - polecam płatny support Ext GWT. Kilkukrotnie zadawałem pytania na forum Premium o nietrywialne problemy i zwykle uzyskiwałem konkretną odpowiedź jeszcze tego samego dnia, czy wręcz w przeciągu godziny. O ile wiem nie trzeba wykupować dostępu dla wszystkich developerów. Można oddelegować pojedynczą osobę z zespołu do komunikowania się poprzez forum.
- Zaletą GWT jest możliwość pisania aplikacji zarówno po stronie klienta jak i serwera w Javie. Ze wsparciem dobrego IDE (eclipse, InteliJ) pisanie/debugowanie kodu jest często łatwiejsze niż w przypadku alternatywnych frameworków. Myślę, że dla wielu studentów technologie Javowe, tym bardziej jeśli pochodzą od Google'a, są bardzo atrakcyjne.
- Trzeba przy tym pamiętać, że GWT zdecydowanie wymaga nauki jeśli chce się napisać skomplikowany system. Czym innym jest napisanie prostej aplikacji dla zabawy, gdzie "magia" frameworku nie musi zostać zgłębiona, a czym innym duży system z niestandardowymi rozwiązaniami. Z drugiej strony framework ten jest już dosyć dojrzały, można o nim znaleźć sporo przydatnych książek czy materiałów w internecie. Napisano w nim wiele poważnych, wielo-modułowych aplikacji, do których pisania moim zdaniem nadaje się on najlepiej.
Piotr Buczek