GWT Web Toolkit (Google Web Toolkit)
Mit dem ›GWT Web Toolkit‹ (ehemals Google Web Toolkit) kam 2006 ein entwicklerfreundliches und freies Framework zur Programmierung von Web 2.0 Ajax-Applikationen auf den Markt. Eine Besonderheit ist der Java-zu-JavaScript-Compiler, der Java-Entwickelnde das Arbeiten in ihrer gewohnten Entwicklungsumgebung ermöglicht. Der GWT-Compiler übersetzt den Java-Code in eine HTML-Seite mit CSS und JavaScript-Funktionen. Die Seminarteilnehmer lernen praxisnah, Web 2.0 Ajax-Applikationen mit dem GWT Web Toolkit zu erstellen, welche Entwicklungs-Tools geboten und wie effektive mehrschichtige GWT-Anwendungen entworfen werden. Das Seminar führt ebenfalls den Debug-Prozess und zusätzliche freie und kommerzielle Komponenten vor.
Inhalte des Seminars
Einführung in das GWT Web Toolkit
- Ajax und Web 2.0-Anwendungen, ›Rich Internet Anwendungen‹ (RIA)
- Dashboard Demo-Applikation
- Download und Installation von GWT, GWT-Lizenz
- Browser-Unterstütztung
- Entwicklungsumgebung, GWT-Projekte mit Eclipse, NetBeans IDE, IntelliJ IDEA
- GWT Designer, Gui-Builder als WYSIWYG-Tool
- Projektstruktur einer GWT-Anwendung
- Client- und Servercode Unterscheidung
- Erste kleine Anwendung, Entwicklungszyklus
RootPanel
,EntryPoint
,onModuleLoad
- GWT-Compiler: Wie GWT Java in JavaScript compiliert
- Hosted-Modus (GWT-Emulator) und Web-Modus
- GWT 2.0: OOPHM (Out Of Process Hosted Mode)
- JRE-Emulation und GWT-Bibliothek
- GWT im Vergleich zu Swing, JSF, Ruby on Rails, Echo2
GWT-Widgets und Ereignisse
- Standard-Widgets des GWT:
Label
,Button
,TextBox
,HyperLink
,Tree
… - Bestehende HTML-Elemente wie
<input type="text" />
in GWT-Widgets umwandeln - Ereignisbehandlung: Listener und Handler
onBrowserEvent
, Browser-Standardereignisse,KeyboardListenerAdapter
- Bilder:
Image
-Widget, Prefetching RichTextArea
undImageBundle
, Client-Bundle aus GWT 2.0DatePicker
,DateBox
- Themes standard, chrome and dark
- GWT Quirks- und Standard-Modus
VerticalPanel
,HorizontalPanel
,FlowPanel
,AbsolutPanel
ScrollPanel
,DockPanel
,CellPanel
,TabPanel
,LazyPanel
- Tabellen,
Grid
,FlexTable
- Drag-and-Drop
- Zusammengesetze und neue Widgets erstellen,
Composite
-Klasse - Widgets im DOM-Baum erstellen und modifizieren
- Styling von Widgets über CSS, DIV-IDs, Einbinden der CSS-Dateien
- UIBinder aus GWT 2.0, Data-Binding
- MVP-Architektur, Activities, Places,
PlaceHistoryMapper
,ActivityMapper
Remote Procedure Call (RPC) mit GWT
- GWT in der Mehrschichten-Architektur
- RPC-Konzepte zur (a)synchronen Kommunikation
- Schnittstellen und Klassen des GWT-RPC
RemoteService
,onSuccess
,onFailure
,AsyncCallback
- Schnittstelle deklarieren und Service implementieren
- Fassaden zur Vereinfachung des GWT-RPC-Aufrufs
- GWT-serialisierbare Objekte, Collections
IsSerializable
,Serializable
, eigene Serialisierer- RPC-Servlet konfigurieren
- Alternativen zu GWT-RPC: JSON RPC für GWT
Ajax, HTML-Formulare und JSON
- Abfragen und HTTP-Aufrufe mit dem
RequestBuilder
- HTTP-Methoden
- XML-Dateien laden
FormPanel
, PayPal-Anbindung als Beispiel- Formularelemente
- JSON-Dateiformat, JSON Mashups, Daten von fremden Webseiten laden
JSONParser
,JSONValue
,JSONObject
, Arrays
Java Script Native Interface (JSNI) in GWT
- JavaScript und GWT Kommminikation
+/*-{+
JSNI-Syntax+}-*/+
- Aus JavaScript Java-Eigenschaften nutzen
- GWT JavaScriptObject (JSO)
- Ausnahmen,
JavaScriptException
- JavaScript-Bibliotheken einbinden und kapseln
- JavaScript HTML-Editor FCKeditor als Beispiel einbetten
- Dojo-Integration in GWT
Anwendungen modularisieren
- Modulkonzept von GWT
- Modul-XML, Aufbau der Standard-Projektstruktur
- Module laden, neue Module einbinden, Module umbenennen
- Pfade definieren
- Eigene Module bauen
- Java-Paket-Struktur
- Code Splitting (
runAsynch
) in GWT 2.0
Ergänzende GWT-Widgets und Widget-Sammlungen
- GWT-Ext (LGPL v3) und Ext GWT (kommerziell und GPL v3)
- Autovervollständigung, editierbare Tabellen und Bäume, Menüs, Grids, Dialoge
- GWT-Ext 2.0 Charts
- Google Maps GWT API
- SmartGWT (GWT APIs for SmartClient)
- GWT Widget Library
- GWT Component Library
Weitere GWT-Eigenschaften
- Browserverlauf, Umgang mit Browser-Zurück, lesezeichenfreundliche Seiten
- URL-Parameter:
page.html&company=tutego
- Sitzugsverwaltung, Cookies
- Schutz vor Cross-Site Scripting (XSS), XSRF-Schutz
- GWT und Java-Applets und Flash, Kommunikation zwischen GWT und Java Applets
- Browserunterschiede berücksichtigen
- Caching/Versionierung
- Deferred Binding
- Statische und dynamische Internationalisierung/Lokalisierung von GWT-Anwendungen
- Benutzerdefinierte Eigenschaften
- Deployment und Build-Management mit Ant und Maven
- Testen und debuggen von GWT-Anwendungen, JUnit, GWT-Logging und log4j
- Deployment auf Webserver und Dateisystem, WAR-Archive bauen
- Datei-Upload zum Server
- GWT-Generatoren, automatische Codegenerierung für Dashboard
- Speed Tracer
- Browserunterschiede berücksichtigen
- Lademechanismus von GWT, Bootstrapping
- Performance-Optimierung: Caching, Image-Bundles, Lazy-loading, Prefetching
- GWT-Applikationen suchmaschinenoptimiert gestalten, GWT-SEO
- GWT und Spring im Backend, GWT-Spring-Integration
- GWT und Hibernate, DTO-Layer entwerfen
- Super Dev Mode, Elemental, Fragment Merging
Termine / Kontakt
Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.
Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.
Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).
Die Fakten
- Empfohlene Schulungsdauer: 4 Tage, insgesamt 32 Unterrichtsstunden à 45 Minuten
- Zielgruppe: Software-Entwickelnde
- Vorkenntnisse: Der Kurs ›Java für Fortgeschrittene‹ oder ›Java für Umsteiger‹.
- Seminar-Software: Als Laufzeitumgebung wird standardmäßig Java SE 8 eingesetzt. Die Entwicklungsumgebung bildet Eclipse, das ›Google Plugin for Eclipse‹ und GWT 16.
Verweise
- GWT Web Toolkit
- Google Plugin for Eclipse
- GWT Designer
- SmartGWT
- Sencha GXT 3
- Google Gears
- GWT und Gears
- FCKeditor
- GWT News