Krótka prezentacja na temat możliwości platformy Google Web Toolkit oraz przedstawienie sposobu stworzenia nowego projektu dla GWT w środowisku Eclipse.
1. Google Web Toolkit
Autor: Bartosz Wójcik
http://kuzniasukcesu.net/
(cc) by-nc-nd 2009
2. http://kuzniasukcesu.net/
Google Web Toolkit (GWT)
GWT - środowisko programowania aplikacji
webowych z wykorzystaniem technologii AJAX
3. http://kuzniasukcesu.net/
Wykorzystane technologie:
JAVA
↓
JavaScript + XML (AJAX)
• Aplikacje pisane w Javie (np. w środowisku
Eclipse), potem kompilowane do JavaScript
4. http://kuzniasukcesu.net/
Możliwości:
• w fazie implementacji i testowania programujemy w Javie, kod
produkcyjny jest kompilowany do JavaScript
public class HelloWorld implements EntryPoint
{
private Button clickMeButton;
public void onModuleLoad {
RootPanel rootPanel = RootPanel.get();
clickMeButton = new Button();
rootPanel.add(clickMeButton);
clickMeButton.setText(„Click me!”);
clickMeButton.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
Window.alert(„Hello, GWT World!”);
}
}
}
}
5. http://kuzniasukcesu.net/
• możliwość tworzenia na poziomie Javy wstawek w JavaScript (JSNI)
public static native void alert(String msg) /*-{
$wnd.alert(msg);
}-*/;
6. http://kuzniasukcesu.net/
• testowanie oraz debugowanie aplikacji WWW w taki sam sposób jak
aplikacji Windowsowej
7. http://kuzniasukcesu.net/
• skompilowany do JavaScript kod jest zoptymalizowany i
dostosowany do różnych przeglądarek (aktualnie IE, Firefox,
Mozilla, Safari, Opera) – zrealizowane jest to przy pomocy techniki
„opóźnionego wiązania” (ang. deferred binding)
8. http://kuzniasukcesu.net/
Możliwości, c.d.:
• możliwość ponownego wykorzystania komponentów UI w innych
projektach
• możliwość tworzenia UnitTestów dla kodu za pomocą np. Junit
• obsługa RPC (Remote Procedure Calls)
9. http://kuzniasukcesu.net/
Za i przeciw
+ skompilowany przez maszynę kod w JavaScript jest bezpieczniejszy
niż JavaScript wygenerowany przez człowieka
+ taki kod jest też lepiej zoptymalizowany
+ łatwe debugowanie kodu
+ nie trzeba się martwić o kompatybilność pomiędzy przeglądarkami
– standardowe widgety są niewystarczające
– brak darmowych edytorów interfejsu użytkownika
– powolnie działanie w trybie hostowanym przy dużych projektach
13. http://kuzniasukcesu.net/
• Mail App
http://code.google.com/webtoolkit/documentation/examples/desktopclo
14. http://kuzniasukcesu.net/
Jak zacząć?
• Instalacja Java SDK.
http://java.sun.com/javase/downloads/
• Ściągnięcie i rozpakowanie GWT.
http://code.google.com/webtoolkit/download.html
15. http://kuzniasukcesu.net/
Tworzenie nowego projektu
• Za pomocą narzędzia applicationCreator
tworzymy pliki projektu.
applicationCreator com.client.MojaAplikacja
16. http://kuzniasukcesu.net/
Tworzenie nowego projektu dla
środowiska Eclipse
1. Za pomocą narzędzia projectCreator tworzymy
nowy projekt Eclipse:
projectCreator -eclipse MojProjekt
17. http://kuzniasukcesu.net/
1. Tworzymy pliki projektu dla naszej aplikacji:
applicationCreator -eclipse MojProjekt
com.client.MojaAplikacja
18. http://kuzniasukcesu.net/
Struktura projektu
• Nazwa: com.MojaAplikacja
• Katalog bazowy: com
▫ mieści zawartość projektu
• Katalog publiczny: com.public
▫ mieści pliki HTML, CSS oraz obrazki
• Katalog zawierający kod klienta: com.client
▫ mieści pliki *.java kompilowane do JavaScript
• Katalog zawierający kod serwera: com.server
▫ mieści kod w Javie, który będzie wykonywany na serwerze
• Plik opisujący projekt GWT: MojaAplikacja.gwt.xml
19. http://kuzniasukcesu.net/
Kompilacja projektu do JavaScript
Uruchomienie skryptu MojaAplikacja-compile.cmd
20. http://kuzniasukcesu.net/
Uruchamianie aplikacji w środowisku
Google’a
Uruchomienie skryptu MojaAplikacja-shell.cmd
22. http://kuzniasukcesu.net/
Wstawianie GWT do HTML
• cały serwis WWW może zostać wykonany w technologii
GWT
23. http://kuzniasukcesu.net/
• GWT może też występować jako wstawki do istniejącej
strony w HTML
Fragment strony w HTML
Fragment kodu w Javie
odnoszącego się do strony HTML