Wprowadzenie do technologii GWT

Transkrypt

Wprowadzenie do technologii GWT
Wprowadzenie do technologii GWT
Technologia GWT (Google Web Toolkit) oferuje programistom
kompletny zestaw narzędzi (wraz z wtyczkami do Eclipse i NetBeans) do
tworzenia bogatych aplikacji internetowych, popularnie zwanych RIA (Rich
Internet Application). Dzięki temu programiści Javy SE/EE nie muszą już
uczyć się dodatkowych technologii wykorzystywanych w aplikacjach
internetowych tj.: JavaScript, XML, HTML, ani także korzystać z hybryd
takich jak JSP, JSF (używanych w ramach JavaEE).
Całość została pomyślana tak by ułatwić jak najbardziej przejście z
programowania aplikacji okienkowych do tworzenia aplikacji
internetowych doświadczonym programistom języka Java. Dzięki temu
budowa interfejsu naszej witryny nie różni się praktycznie niczym od
tworzenia interfejsu użytkownika w Swingu czy AWT. Mamy tutaj podobne
panele, zarządzanie rozmieszczeniem elementów w ramach panelu
(LayoutManager), a nawet podobne metody określania parametrów okien.
Obsługa zdarzeń także pozostała taka sama jak w przypadku Swing/
AWT (przynajmniej w trakcie pisania aplikacji. Wymaga to utworzenia
obiektu "handlera", przeciążeniu odpowiednich metod, dodanie do nich
kodu obsługującego dane zdarzenie i dodanie takiego obiektu do np.
przycisku który ma takie zdarzenie wywoływać.
Komunikacja pomiędzy serwerem a klientem w przypadku typowej
aplikacji GWT odbywa się poprzez mechanizm RPC (Remote Precedure
Call). Polega on na utworzeniu klas wykonywanych po stronie serwera a
będących wywoływanymi jako funkcji z poziomu interfejsu klienta. Dzięki
temu nie trzeba się praktycznie przejmować żadnym Web'owym
mechanizmem request'ów. Dane przesyłane pomiędzy klientem a
serwerem są serializowane dzięki czemu po obu stronach mogą być
używane jak zwykłe obiekty Java. Istnieją restrykcje co do klas
narzędziowych JSE które mogą zostać wykorzystywane w aplikacjach
napisanych dzięki GWT, jednakże to ograniczenie dotyczy wyłącznie
warstwy interfejsu użytkownika i obiektów wykorzystywanych do
wymiany danych. Wynika to z tego, że nie wszystko napisane w Javie
może zostać zamienione na kod JavaScript. Po stronie serwera nie ma już
takiego ograniczenia.
Dodatkowo w celu wprowadzenia nowej technologii budowania aplikacji
internetowych do już istniejących aplikacji możliwe jest wykorzystywanie
standardowych sposobów przesyłania danych takich jak JSON czy XML.
Nic nie stoi na przeszkodzie by aplikacja kliencka (napisana w GWT)
komunikowała się z warstwą serwerową napisaną w innych językach i
odwrotnie.
Struktura projektu jest bardzo przejrzysta. Podzielona została na dwie
gałęzie podstawowe: com.sample.client (pakiet zawierający kody warstwy
klienta), com.sample.server (pakiet zawierający kody warstwy
serwerowej) oraz opcjonalnie dodatkowe pakiety które mogą być
współdzielone pomiędzy pomiędzy tymi dwoma warstwami.