SlideShare ist ein Scribd-Unternehmen logo
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

Weitere ähnliche Inhalte

PDF
JAX 2015 - Continuous Integration mit Java & Javascript
PDF
Google Web Toolkit
PDF
Windows 8.1 UI für Entwickler
PPTX
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
PDF
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
PPTX
3. Night of the pack
PDF
Deployment 2.0
PDF
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
JAX 2015 - Continuous Integration mit Java & Javascript
Google Web Toolkit
Windows 8.1 UI für Entwickler
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
3. Night of the pack
Deployment 2.0
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick

Was ist angesagt? (16)

KEY
Informatik Seminar Groovy Und Grails
PPT
PPTX
Windows 8 für Entwickler
PDF
Case Study: Produktkonfigurator Web-App
PPTX
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
PDF
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
PDF
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
PDF
Eine Stunde was mit Api First!
PPTX
Chrome for Work | CLOUDPILOTS FastTrack Update
PDF
Feature Flags mit Togglz
PDF
Java-Webanwendungen mit Vaadin 8
PPT
SCD13: Shopware goes responsive
PPTX
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
PPTX
Automatischer Build mit Maven
ODP
Deploy Magento Shops with Capistrano v3
PDF
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
Informatik Seminar Groovy Und Grails
Windows 8 für Entwickler
Case Study: Produktkonfigurator Web-App
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Eine Stunde was mit Api First!
Chrome for Work | CLOUDPILOTS FastTrack Update
Feature Flags mit Togglz
Java-Webanwendungen mit Vaadin 8
SCD13: Shopware goes responsive
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Automatischer Build mit Maven
Deploy Magento Shops with Capistrano v3
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
Anzeige

Ähnlich wie Gwt Techtalk Präsentation (7)

PDF
GWT Introduction
PDF
Java in the Cloud - am Beispiel der Google App Engineg
PDF
JSF vs. GWT? JSF und GWT!
PDF
Malte Wessel - Google web toolkit
PDF
GWT – Google Web Toolkit in der Praxis
PDF
MVP mit dem Google Web Toolkit
PDF
Java oberflächlich betrachtet - Welche GUI ist die richtige?
GWT Introduction
Java in the Cloud - am Beispiel der Google App Engineg
JSF vs. GWT? JSF und GWT!
Malte Wessel - Google web toolkit
GWT – Google Web Toolkit in der Praxis
MVP mit dem Google Web Toolkit
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Anzeige

Gwt Techtalk Präsentation

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