Od pół roku piszę w GWT/GWTP....
Zakładam, że coś robię fundamentalnie źle, bo nie chce mi się wierzyć by te frameworki były tak złe.
O co chodzi?
O to, że jak dla mnie GWT/GWTP niczego nie ułatwiają.
W miarę zrozumiały, choć nie idealny model HTML/JavaScript zastępują jakimś o wiele bardziej skomplikowanym.
W miarę znane elementy HTMLa zastępuje własnymi abstrakcjami.
Do tego zaś robią rzecz, której w ogóle nie rozumiem, czyli generują różnego HTMLa i JavaScripta dla różnych przeglądarek.
Gdy chcemy to stylować to stylujemy w CSSie, ale musimy wiedzieć na co zostaną przetłumaczone poszczególne elementy UI by móc cokolwiek zastylować. Co oznacza tyle, że musimy wiedzieć, że np. ten Button będzie zmapowany na <button>, a ten inny na <div>.
Coś co przez dodanie abstrakcji miało sprawę ułatwić ją komplikuje.
Dość oczywiste w aplikacjach webowych ficzery, jak to by strona w momencie ładowania przychodziła z jakimiś danymi jest niewykonalne i trzeba hackować przez użycie "natywnego" kodu i dobudować servlet, albo chociaż użyć JSP.
Do tego jest problem koncepcyjny polegający na tym, że po stronie klienta @Inject działa w miarę ładnie bo zwykle wszystko co tak wstrzykujemy jest jedno, ale po stronie serwera już tak nie jest.
Do tego GWT.create() przeszkadza w UnitTestach.
Na koniec zaś model pamięci w trybie DEBUG i Release są różne, bo ten Debugowy działa w Java'ie, a ten drugi jest przekodowywany do JavaScripta. Stąd czasem kod działa w Release a wywala się w Debugu ;-)
Gdzie są te zalety? Gdzie ta szybkość tworzenia kodu? Gdzie wygoda?
Jedynym powodem poza tym, że czegoś muszę nie dostrzegać może być to, że ja używam GWT/GWTP do bardzo malutkich rzeczy, które bez dużego problemu można by było zakodować w mniejszej ilości kodu z lepszym efektem używając nawet JSP i JavaScriptu.
Próbowałem "Agile pokera" napisać w GWT/GWTP, niby proste, ale już mam 280 linii kodu w Java'ie w 12 klasach, z których sam napisałem około 40 linii i 1 klasę. Do tego dochodzi blisko 50 linii HTMLa (wygenerowanego głównie), do tego 52 linie XMLa z czego napisałem 18.
Nie ma jeszcze stylowania.
Cały "program" w JavaScript'cie i HTMLu to 72 linie, plus jakieś 5-6 w pliku manifestu. Wersja JavaScript'owa potrafi reagować na zmiany orientacji ekranu, wylicza optymalny rozmiar tekstu który ma pokazać, działa off-line.
Gdzie nauczyć się GWT/GWTP tak by pisanie w nich było prostsze od pisania w JavaScript'cie i JSP?
Podobne postybeta
Rant po toolach w stylu Mavane, Gradle, Bowera i całej tej hałastry
Robimy krzywdę GWT ;-) czyli przekazujemy wartość z serwera do klienta, bez RPC ;-)
ToDo od Trello jako "oddzielna aplikacja"
Code review - najfajniejszy kawałek procesu ;-)
Najkrótsza droga do przyszłości - Polymer ;-)
poniedziałek, kwietnia 21, 2014
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz