gwt techtalk präsentation
TRANSCRIPT
Folie 1Vortrag > Autor > Dokumentname > Datum
TechTalk - Google Web ToolkitVon Malte Legenhausen
Vortrag > Autor > Dokumentname > Datum
Folie 2
Gliederung
Was ist das Google Web Toolkit
Features
Architektur
Hallo, AJAX vs. Hallo, Swing
Backend
Remote Procedure Calls
Debugging und Deploying
Performance
Erweiterungen
Alternativen
Zukunft
Fazit
Vortrag > Autor > Dokumentname > Datum
Folie 3
Was ist das Google Web Toolkit
Programmierung von AJAX Applikationen in Java 1.4 Syntax
Java-to-JavaScript Compiler
Vereinfachung von RPC Anfragen
Widget Klassenbibliothek in Anlehnung an Swing
Open Source
Vortrag > Autor > Dokumentname > Datum
Folie 4
Features
Dynamische und wieder verwendbare UI-Komponenten
Einfache Programmierung von Remote Procedure Calls (RPC)
Browser History Management
Debugging in Java
Browser Kompatibilität
JUnit Integration
Internationalisierung
JavaScript Native Interface (JSNI)
Google API Library (Google Gears)
Vortrag > Autor > Dokumentname > Datum
Folie 5
Architektur
Vortrag > Autor > Dokumentname > Datum
Folie 6
Hallo, AJAX vs. Hallo, Swingpublic class MyApplication implements EntryPoint { public void onModuleLoad() { Button b = new Button("Click me", new ClickListener() { public void onClick(Widget sender) { Window.alert("Hello, AJAX"); } }); RootPanel.get().add(b); }}
public class MyApplication { public static void main(String[] args) { final JFrame frame = new JFrame("Hallo, Swing"); JButton b = new JButton("Click me"); b.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(frame, "Hallo, Swing"); } }); frame.getContentPane().add(b); frame.setSize(200, 100); frame.setVisible(true); }}
Vortrag > Autor > Dokumentname > Datum
Folie 7
Backend
Eingebauter Tomcat Entwicklungsserver
GWT ist Backend unabhängig
Jede Programmiersprache möglich
Keine standardmäßige Unterstützung
Jede serverseitige Technologie einbindbar
Datenbanken
JFreeChart
Vortrag > Autor > Dokumentname > Datum
Folie 8
Remote Procedure Calls
Vortrag > Autor > Dokumentname > Datum
Folie 9
Debugging und Deploying
hosted mode
Codeausführung in einer JVM als Java Bytecode
Debugging in Java
Verwendung von weitverbreiteten IDE
Eclipse (GWT Designer)
NetBeans
web mode
Übersetzung von Java zu JavaScript
Reine Verwendung von JavaScript und HTML
Keine JVM mehr notwendig
Vortrag > Autor > Dokumentname > Datum
Folie 10
Performance
JavaScript ist langsam!
700 mal langsamer als nativer Code
Compileroptimierungen
Codeaussortierung
Performanter JavaScriptcode
Browserkompatibilität
Vortrag > Autor > Dokumentname > Datum
Folie 11
Erweiterungen
Google Maps
Google Widgets
gwt-dnd
Drag and Drop Erweiterung
gwt-ext
GWT Schnittstelle zur ext-js Bibliothek
Rocket-GWT
Erweiterte Widgets
Logging-Mechanismen
Rialto GWT
GWT Schnittstelle zur Rialto JavaScript Bibliothek
Vortrag > Autor > Dokumentname > Datum
Folie 12
Alternativen
Thinwire
Echo2
Eclipse RAP
ZK
Seam
Wicket
Click
Adobe Flex
pyjamas
Vortrag > Autor > Dokumentname > Datum
Folie 13
Zukunft
Drag and Drop
Java 5 Syntax
Lazy Loading
Einfacherer Zugriff auf nicht Java Backends
Support von canvas, SVG, VML
Animationen und Effekte
Vortrag > Autor > Dokumentname > Datum
Folie 14
Fazit
Zukunftsweisende Technologie
Abstraktion auf eine höhere Sprache
Programmieren ohne Hintergedanken
Compiler kümmert sich um die Optimierung
Kein Unterschied zwischen Desktop- und Webapplikation
JavaScript ohne GWT kann nur langsamer sein
Folie 15Vortrag > Autor > Dokumentname > Datum
Vielen Dank