TechTalk - Google Web Toolkit Von Malte Legenhausen
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
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
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)
Architektur
Hallo, AJAX vs. Hallo, Swing public   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 ); } }
Backend Eingebauter Tomcat Entwicklungsserver GWT ist Backend unabhängig Jede Programmiersprache möglich Keine standardmäßige Unterstützung Jede serverseitige Technologie einbindbar Datenbanken JFreeChart
Remote Procedure Calls
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
Performance JavaScript ist langsam! 700 mal langsamer als nativer Code Compileroptimierungen Codeaussortierung Performanter JavaScriptcode Browserkompatibilität
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
Alternativen Thinwire Echo2 Eclipse RAP ZK Seam Wicket Click Adobe Flex pyjamas
Zukunft Drag and Drop Java 5 Syntax Lazy Loading Einfacherer Zugriff auf nicht Java Backends Support von canvas, SVG, VML Animationen und Effekte
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
Vielen Dank

Gwt Techtalk Präsentation

  • 1.
    TechTalk - GoogleWeb Toolkit Von Malte Legenhausen
  • 2.
    Gliederung Was istdas Google Web Toolkit Features Architektur Hallo, AJAX vs. Hallo, Swing Backend Remote Procedure Calls Debugging und Deploying Performance Erweiterungen Alternativen Zukunft Fazit
  • 3.
    Was ist dasGoogle 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
  • 4.
    Features Dynamische undwieder 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)
  • 5.
  • 6.
    Hallo, AJAX vs.Hallo, Swing public 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 ); } }
  • 7.
    Backend Eingebauter TomcatEntwicklungsserver GWT ist Backend unabhängig Jede Programmiersprache möglich Keine standardmäßige Unterstützung Jede serverseitige Technologie einbindbar Datenbanken JFreeChart
  • 8.
  • 9.
    Debugging und Deployinghosted 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
  • 10.
    Performance JavaScript istlangsam! 700 mal langsamer als nativer Code Compileroptimierungen Codeaussortierung Performanter JavaScriptcode Browserkompatibilität
  • 11.
    Erweiterungen Google MapsGoogle 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
  • 12.
    Alternativen Thinwire Echo2Eclipse RAP ZK Seam Wicket Click Adobe Flex pyjamas
  • 13.
    Zukunft Drag andDrop Java 5 Syntax Lazy Loading Einfacherer Zugriff auf nicht Java Backends Support von canvas, SVG, VML Animationen und Effekte
  • 14.
    Fazit Zukunftsweisende TechnologieAbstraktion 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
  • 15.