Spór o skrośne kompilatory: GWT przyszłością aplikacji webowych?
Kilka dni temu Bob Balfe z firmy IBM na łamach swojego bloga postawił dość mocną tezę o tym, że Google Web Toolkit jest przyszłością programowania aplikacji webowych, ponieważ przynosi bezpieczną typizację, pozwala wykorzystać istniejące umiejętności programistów Javy i ma wbudowane fajne widżety. Twierdzenie to jednak nie wszystkim się spodobało i wywołało ciekawe głosy krytyczne.
Jak wiadomo, Google Web Toolkit to skrośny kompilator Javy do JavaScriptu, który pozwala na tworzenie ajaksowych aplikacji, nie wymagając od dewelopera jakiejkolwiek znajomości tej technologii. Po napisaniu kodu w Javie, GWT przetwarza część kliencką na JavaScript, HTML i CSS, zaś część serwerowa zostaje skompilowana do serwletu Javy, gotowego do uruchomienia na serwerze aplikacyjnym. Zaletą takiego rozwiązania jest znacznie łatwiejsze wykrywanie błędów, oraz uwolnienie się od zmory dopasowywania aplikacji do poszczególnych przeglądarek – o wszystko zadba już framework.
Możliwości GWT są naprawdę duże – zrobiono w nim aplikacje takie, jak Gmail, a ostatnio Google Wave. Czy jednak oznacza to, że deweloperzy powinni brać się za solidną naukę Javy i liczyć, że google'owe narzędzie przerobi je na aplikację uruchamianą w przeglądarce? William Shields, australijski deweloper, który specjalizuje się właśnie w Javie – więc trudno go podejrzewać o jakąś niechęć wobec języków o statycznej typizacji – uważa, że GWT w żadnym stopniu nie stanowi przyszłości dla tworzenia aplikacji webowych. Oto streszczenie jego argumentów:
-
Dynamiczna typizacja nie jest niczym strasznym. Pierwszym popularnym językiem o dynamicznej typizacji był Perl, który rozpowszechnił się wśród uniksowych administratorów w latach '90 zeszłego wieku – w czasach gdy niepodzielnie jeszcze rządziły C i Java. Choć koncepcja swobodnego zmieniania typów zmiennych, albo porzucenia konieczności ich deklarowania była wówczas herezją, to jednak przyjęła się nieźle – dzięki realnym korzyściom, jakie Perl dawał na maszynach o niewielkiej mocy. Nic strasznego wraz z proliferacją Perla, a później PHP, Pythona czy Ruby'ego się nie stało.
-
Jak chcesz napisać podręcznik po niemiecku, nie piszesz go wpierw po angielsku, a potem tłumaczysz na niemiecki. Niektórych rzeczy nie sposób przetłumaczyć – zarówno w językach ludzi, jak i maszyn. JavaScript ma wiele własności, których brak Javie – domknięcia, anonimowe obiekty, metody rozszerzenia. Skrośne kompilatory napotykają ten sam problem, co wykorzystanie ORM-ów – niezgodność impedancji. Regularnie marnuje się wiele czasu na ustalenie, która to kombinacja parametrów i własności wygeneruje odpowiednio wydajną kwerendę SQL-a. GWT „wmawia” zaś naiwnym deweloperem, że nie muszą uczyć się JavaScriptu. Co więcej, GWT traktuje JavaScript jako bug, który trzeba naprawić.
«poprzednia 1 2 3 następna »
Polecamy
Reklama
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
Korea Północna: korzystasz z telefonu komórkowego? Jesteś więc zbrodniarzem wojennym
5
Nowa polityka prywatności Google'a już za miesiąc wejdzie w życie. Mamy się czego bać?
16
Firefox 10 już jest. Wiele atrakcji dla programistów, użytkownicy raczej nic nie zauważą
9
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1451
Linux wypiera z korporacyjnych serwerów już nie tylko Uniksy, ale i Windows
11
Źle się dzieje z Chrome, ze stabilnością coraz gorzej. Gdzie się podziała słynna izolacja procesów?
23
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1451
Rząd Tuska zablokował dostęp do tańszych leków z internetowych aptek
61
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Społeczność
hipertracker @slawek22, ORM wcale nie musi tworzyć nieoptymalnych kwerend. Poza tym...
matrixik A ja już długi czas temu przesiadłem się z Konnecta na Mirandę i jestem...
Rumcajs Kolejna PRowska ściema Donka. Już mnie krew zalewa.
Artykuł 41...
zalesz o Pan Sławek :)
Patrzę nic się nie zmieniło, w sumie to nic się nie...
slawek22 Jeszcze taka dygresja na poparcie tezy, akurat sobie czytałem o node...
slawek22 Tylko po co mi 5, 10 albo nawet 15 razy szybszy JRuby skoro całą "moc...
pobieraczek.pl zapłacicie wszyscy ;D
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
Polecane książki
Praca
Obsługa księgowa z językiem niemieckim
Tech Support Engineer with fluent English and German, French, Italian or Spanish
Młodszy Specjalista w Dziale Należności ze znajomością języka francuskiego
Analityk Baz Danych i Systemów Monitorowania
Menedżer ds. Klienta Biznesowego
Starszy Programista Aplikacji Internetowych/Team Leader
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |









#1 tomekk 2009-10-30 08:09:11 0
IP: 90.156.104.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0
#2 jaaa 2009-10-30 10:32:09 0
IP: 85.222.104.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4
#3 sudlik® 2009-10-30 18:56:19 0
IP: 77.255.71.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4
#4 apohllo 2009-10-31 00:15:38 0
IP: 83.230.47.[...] Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.2) Gecko/20090914 Gentoo Firefox/3.5.2
#5 apohllo 2009-10-31 00:17:28 0
IP: 83.230.47.[...] Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.2) Gecko/20090914 Gentoo Firefox/3.5.2
#6 hipertracker® 2009-10-31 07:16:08 1
IP: 78.16.214.[...] Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; pl; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4
#7 java 2009-10-31 13:52:20 0
IP: 90.156.104.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0
#8 java 2009-10-31 14:10:18 0
IP: 90.156.104.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0
#9 slawek22 2009-11-02 01:49:25 0
IP: 79.185.220.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0
#10 GWT 2009-11-06 12:03:45 0
IP: 193.178.240.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.3 (KHTML, like Gecko) Chrome/4.0.223.11 Safari/532.3
#11 Mikołaj 2009-11-07 22:00:38 0
IP: 83.31.101.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 GTB6 (.NET CLR 3.5.30729)
#12 slawek22 2009-11-07 22:35:00 0
IP: 83.10.77.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0
#13 poczatkujacy uwodziciel bez sukcesow 2009-11-07 23:42:20 0
IP: 188.33.53.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
#14 GWTApp 2010-07-18 15:03:43 0
IP: 83.27.147.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4
#15 beastieboy 2011-05-03 21:20:54 0
IP: 89.75.188.[...] Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1