Seite 1
GWT - GOOGLE WEB TOOLKITManuela HoferLucia Fiedler
Erstellt von: Manuela Hofer, Lucia Fiedler
Seite 2
Inhalt - Überblick
> Einführung GWT
> Hauptkomponenten
> Host- und Web-Modus
> Kommunikation mit Server
> Projektstruktur
> Beispiel in Eclipse
> Testen und Features
> Zusammenfassung
(Vorteile/Nachteile)
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 3Erstellt von: Vorname Nachname tt.mm.jjjj
Einführung GWT
> Framework für Webanwendungen> Für komplexe und iterative Anwendungen
> 2006 von Google als Apache License 2.0 herausgebracht -> aktuell Version 2.5
> Ähnliches Handling wie Swing-Klassen
> Code für Menschen leichter verständlich
> Folgende Entwicklungsumgebungen werden unterstützt: Eclipse, NetBeans, IntelliJ, IDEA
Seite 4
3 Hauptkomponenten
> Compiler (Java zu Javascript) Entwicklung von Client und Server kann auf Basis von Java realisiert werden
> JRE Emulation Library (Java-API)Versionen von GWT und JSE beachten
> Ui Library (GWT-API)
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 5
Funktionsweise des GWT-Compilers
> Compiler erzeugt aus Java-Code eine Javascript-Datei für jeden Browser-Typ
> Auswahl der richtigen Datei mittels Bootstrap-Skript(abhängig von Ort und Browser)
> Code-Optimierung(Stile: obfuscate, pretty, detailed)
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 6
Hosted- Modus
> Zum entwickeln und testen
> Java-Bytecode
> Browser-Plugin notwendig
> Warnungen werden in einem
Steurerfenster ausgegeben
> Langsamere Ausführung
Web-Modus
> Für Endprodukt
> Javascript-Dateien> Beim Client kein Browser-
Plugin notwendig
> Finale Darstellung> Schnellere
Ausführungsgeschwindigkeit
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 7
Kommunikation mit Server
>Remote Procedure Call
- Client ruft serverseitige Methoden auf
- basiert auf Servlet-Technologie und HTTP-Protokoll
- Übertragung von Zeichenketten -> Serialisierung
- asynchrone Kommunikation mittels XMLHttpRequest
(=JavaScript-Objekt)
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 8
Pojektstruktur
> MyApp> Src
> Paketname> Client
> MyEntryPoint.java> Server> MyApp.gwt.xml
> War> WEB-INF
> Web.xml> Mystyle.css> My_host_page.html
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 9
Beispiel
> Installation von Plugin via Eclipse Marketplace
> Mittels Eclipse-Plugin einfach zu erstellen – gute Benutzerführung
> New / Google / Web Application Project
> HelloWorld…
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 13
Testen
> Mittels Junit
> Server- und clientseitige Tests möglich
> Basisklasse GWTTestCase
> Mittels Tool ‚junitCreator‘ Anfangstestszenario generieren
> Vorteil: einheitliches Testtool für gesamte Anwendung – auch
Oberfläche möglich
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 14
Weitere Features
> Eigener XML-Parser integriert – basiert auf DOM, als Objektbaum aufbereitet
> Browser-History: bei Web-Anwendungen oft problematisch, GWT bietet Lösung: Verlauftokens in Quellcode einbauen, mittels Event-Handler aufrufen
> JavaScript Native Interface (JSNI): Aufruf von JavaScripts in native Javacode möglich, in GWT enthalten
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 15Erstellt von: Vorname Nachname tt.mm.jjjj
Vorteile von GWT
> Fokussierung auf Java
-> Client und Server können in selber Programmiersprache
erstellt werden -> leichtere Wartung
-> Dokumentation über Java leichter
-> bessere Typsicherheit
-> erkennen von Fehlern noch vor Compilierung,
statt erst zur Laufzeit
-> Tests automatisieren
> Java-Installation beim Endkunden nicht notwendig
Seite 16
Vorteile von GWT
> Browserunabhängigkeit (JS-Dateien für alle Browsertypen)
> JS-Dateien werden optimiert
> Server wird entlastet (GUI-Logik auf Client ausgelagert)
> Request Factory z.B. Asynchonität
> OpenSource -> ständige Weiterentwicklung
Erstellt von: Vorname Nachname tt.mm.jjjj
Seite 17Erstellt von: Vorname Nachname tt.mm.jjjj
Nachteile von GWT
> JavaScript Files wachsen sehr schnell (Abhilfe mit Codesplitting)
> Sicherheitsproblem
> spärliche Dokumentation
> lange Compile-Zeiten
> nur für Java-Entwickler geeignet
> GWT-Klassen selbst sind nicht OpenSource
> Google behält sich vor die OpenSource von GWT aufzuheben
> Integration in bestehende Infrastruktur aufwendig
> Für Ausführung ist Installation von Browser-Plugin notwendig
Seite 18Erstellt von: Vorname Nachname tt.mm.jjjj
Quellen
> http://de.slideshare.net/Cenarion_Inf_Sys/gwt-google-web-toolkit-in-der-praxis-2012-1114#btnNext
> http://de.slideshare.net/d0nut/google-web-toolkit-207732#btnNext
> https://www.matse.rz.rwth-aachen.de/dienste/public/show_document.php?id=8098
> www.vogella.com/articles/GWT/article.html