Einführung in das Google Web Toolkit am Beispiel

Werbung
Einführung in das Google Web
Toolkit am Beispiel eines
Projektes aus der
Verkehrstelematik
Fachhochschule Aachen - WS 11/12
Seminararbeit im Bachelorstudiengang
Scientific Programming
Sebastian Schilling
Inhalt
•
•
•
•
•
•
•
Einleitung
Was ist GWT?
GWT-Features
GWT-Compiler
Vor- und Nachteile
GWT im Einsatz am Beispiel eines Projektes
Fazit
Web 2.0 und Ajax
• Statische Webseiten werden durch UserGenerated-Content ersetzt
 Benutzer erstellen, bearbeiten und verteilen
Inhalte selbst
 unterstützt von interaktiven Anwendungen
 Rich-Internet-Application
 Web 2.0 (keine offizelle Definition)
Realisiert durch HTML, CSS, JavaScript und Ajax
Klassische Web-Anfrage
• Lange
Wartezeiten für
den Benutzer
• Jeweils komplettes
Laden der ganzen
Internet-Seite
Ajax – Web-Anfrage
• Ajax = Asynchronous
JavaScript and XML
• Asynchrone
Datenübertragung
unteranderem durch
XML oder JSON
• Benutzeraktionen, wie
Validieren von Daten,
Navigieren zwischen
Elementen auf der
Webseite können im
Client übernommen
werden
Motivation
• Entwicklung umfangreicher Ajax oder RichInternet-Applications
Ausgangs• HTML und JavaScript werden benötigt
punkt
Projekt
bezogen
• Hauptprogrammiersprache: Java
• Entwicklung mittels HTML, CSS und
JavaScript schwierig
• Unterschiedliche JavaScript Interpretationen
in den verschiedenen Browsern
Probleme • Typenlose Programmierung
 Lösung: Google Web Toolkit
Was ist GWT?
• Google Web Toolkit
▫ Framework zur Erstellung von komplexen und
interaktiven Desktop-ähnlichen AjaxAplikationen
▫ Programmierung von Client und Server in Java
▫ GWT-Compiler übersetzt clientseitigen Java-Code
zu HTML, CSS und JavaScript
▫ Wird unterstützt von Entwicklungsumgebungen
wie Netbeans oder Eclipse
▫ JUnit testen möglich
▫ Debuggen des clientseitigen Codes möglich
Projektstruktur
!=
Entwicklungs-Struktur
vs.
Deployment-Struktur
HTML-Grundgerüst
JAVA-Datei
GWT-Konfiguration über Module
• Module beseht aus:
▫ Client-Code, optional auch Server-Code
▫ Mindestens einer HTML-Datei
▫ Andere statische Ressourcen (Bilder, CSS-Dateien)
GWT-Konfiguration über Module
Hosted- und Web-Mode
• Hosted-Mode (Development Mode)
▫ Applikation wird als Bytecode in der Java Virtual
Machine (JMV) ausgeführt
Debugging kann genutzt werden
▫ Voraussetzung: beliebiger Browser mit
installierten GWT-PlugIn
• Web-Mode (Production Mode)
▫ Clientseitiger Code wird von dem GWT-Compiler
in JavaScript, CSS und HTML compiliert
▫ Keine JVM oder Browser-PlugIns nötig
GWT-Features
• Benutzeroberflächen
▫ Widget: Benutzer-Komponenten
▫ Panel: Zur Strukturierung der Widgets
• Browser History von Ajax Anwendungen
GWT-Features
• JUnit
• JavaScript Native Interface (JSNI)
• Remote Procedure Calls (RPC)
▫ RPC mittels RequestBuilder
▫ GWT-RPC
GWT-Compiler
JS: Firefox
JS: IE
JS: Opera
JS: Safari
JS: Chrome
clientseitiger
Java-Code
GWT-Compiler
HTML + CSS + JavaScript
Vor- und Nachteile
• GWT-Features
• Programmierung in Java
 Typensicherheit
• Debuggen
• JUnit-Tests
• JavaScript Generierung für
unterschiedliche Browser
• GWT-Klassen sind
OpenSource
• Aufwendige Integration in
bestehende Infrastrukturen
• Google hält sich vor, die
Lizenzbedingung jederzeit
zu ändern
• GWT-JavaScript-Compiler
ist nicht OpenSource
GWT im Einsatz am Beispiel eines
Projektes aus der Verkehrstelematik
• Projektbeschreibung:
▫ Aus dem Bereich des Baustellenmanagement
 Planung von Baustellen
▫ Realisiert durch schematische Karte
 stellt geographische Umgebung auf
Fahrbahnniveau dar
Folgendes muss dargestellt werden:
▫ Raststätten, Ab- und Auffahrten
▫ Beschilderungen und Signaleinrichtungen
Das Projekt
• (kurze Vorführung)
GWT im Einsatz am Beispiel eines
Projektes aus der Verkehrstelematik
• Wo wurde GWT eingesetzt?
▫ Datenübertragung zwischen Server und Client
 GWT-RPC
▫ Verarbeitung der Server-Daten auf Client-Seite
 in Java programmiert
▫ Darstellung der Karte mittels einer JavaScriptBibliothek (OpenLayers)
 JavaScript Native Interface (JSNI)
Fazit
• Für Java-Entwickler einfache Gestaltung von
Rich-Internet-Applications
 nutzt alle Vorteile die Java mitbringt aus
• Migration von großen bestehenden
Anwendungen zu Webanwendungen eher
abzuwägen
• Weiterer Einfluss auf die Web-Entwicklung von
GWT ist zu erwarten
Vielen Dank für Ihre Aufmerksamkeit !
Herunterladen