Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
GWT Google Web Toolkit  Referent:        Torben Brodt  Veranstaltung:   Fachseminar Webframeworks  Datum:           20.12....
Hello World!            Das klassische Codebeispiel                                 
Java, Java, Java!            Programmieren in Java            Ausführen in Java            Testen in Java            D...
Inhaltsverzeichnis     1. Der GWT Weg     2. Tools       ●           Compiler, Hosted Browser, Framework     3. Vorteile d...
Der GWT Weg            System­Sprache statt Auszeichnungssprache            GWT­ statt Swing­Klassen, aber Handling glei...
Der GWT Weg            Ergebnis = kein Java, kein Applet, keine VM                            einzige Voraussetzung: Bro...
Der Compiler            Code Compiler                    erstellt eine statische HTML Datei als Container              ...
Der Compiler            Bild Compiler – die Problemstellung                    herkömmlich führt jedes Bild zu einer HTT...
Der Compiler            Bild Compiler – die Lösung                    mehrere Bilder werden zu einem ImageBundle        ...
Der Compiler            ImageBundles werden als Interfaces geschrieben            Will man Bilder nicht zentral verwalte...
Der Compiler            ImageBundles werden als Interfaces geschrieben            Will man Bilder nicht zentral verwalte...
Hosted Mode            Refresh synchronisiert mit Java­Code            Emuliert einen Browser            Oberfläche zum...
Framework            java.lang und java.util sind nachimplementiert            Bedienelemente (Widgets) sind vorhanden  ...
Vorteile des Paradigmas            GWT ändert das Paradigma. Erstmals Typisierung         und Möglichkeiten zum Debuggen ...
Vorteile des Paradigmas            Beliebige Java IDE, da Einbindung per .jar            GWT ist zwar allein zur Fronten...
Features    1.Bessere HTTP­Performance durch Verwendung von       ImageBundles und smarter Dateien    2.Programmiersprache...
Gestaltungs­ und Bedienelemente            Panel für Widgets oder weitere Panels                    ähnlich AWT/Swing Ko...
Gestaltungs­ und Bedienelemente            Widgets für Benutzerinteraktionen            Normale Formular­Elemente       ...
Gestaltungs­ und Bedienelemente            Mail­Beispielclient.... erweitert :­)                                      
Realisierbare Usability            Einfache Implementierung von Browserhistory            ... und Bookmarkfunktionalität ...
Realisierbare Usability            Implementierung durch zentralen Controller, der URL         Parameter durchreicht    ...
Remote Procedure Calls            MailService (Interface)             Beschreibt das tatsächliche Aussehen            W...
Remote Procedure Calls            MailServiceAsync (Interface)             AJAX Implementierung (typisch void)         ...
Remote Procedure Calls            emailService Proxy                              
Remote Procedure Calls            Backend                    implementiert die Methoden von MailService                ...
Internationalisierung            Statische VS dynamische Internationalisierung            Statische bevorzugt, da neben ...
Internationalisierung            Mail.gwt.xml um Sprachmodul erweitern            Klasse implementieren (und instanziier...
Internationalisierung            Beispiel einer Property Datei        compose = Neu        sync = Verschicken/Abrufen!   ...
Wiederverwendung            alter JavaScript Code kann wiederverwendet werden                    durch das Schlüsselwort...
Testing & Benchmarking            JUNIT Integration in GWT über eigene Klasse            asynchrones Testen von Front­ b...
Fragen            Fragen?                   
Nächste SlideShare
Wird geladen in …5
×

Google Web Toolkit

116.694 Aufrufe

Veröffentlicht am

30 minütige Präsentation des Google Web Toolkit, einem Java Framework zum erstennellen von Javafreien-Web-Applikationen. Den Download des Beispielprogramms finden Sie auf http://www.easy-coding.de/trac/gwt .

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Google Web Toolkit

  1. 1. GWT Google Web Toolkit  Referent:  Torben Brodt  Veranstaltung: Fachseminar Webframeworks  Datum: 20.12.2007
  2. 2. Hello World!  Das klassische Codebeispiel   
  3. 3. Java, Java, Java!  Programmieren in Java  Ausführen in Java  Testen in Java  Debuggen in Java  Verteilen in JavaScript !   
  4. 4. Inhaltsverzeichnis  1. Der GWT Weg  2. Tools ● Compiler, Hosted Browser, Framework  3. Vorteile des Paradigmas  4. Features + Demo + Coding  5. Fragen   
  5. 5. Der GWT Weg  System­Sprache statt Auszeichnungssprache  GWT­ statt Swing­Klassen, aber Handling gleich  Der Code bleibt für Browser und Menschen lesbar  Programmiert wird in Systemsprache, wegen...  der riesigen Toolunterstützung  der Java Spracheigenschaften  Übersichtlichkeit trotz komplexer Systeme   
  6. 6. Der GWT Weg  Ergebnis = kein Java, kein Applet, keine VM  einzige Voraussetzung: Browser  anderer Weg für selbes Ergebnis  JavaScript und Java sind zwar syntaktisch ähnlich,  aber bei dem Konzept hätte Google jede andere  Sprache wählen können (siehe Projekt: pyjamas)  Ähnlich Swing, aber kein SWING  Anwendung muss neu erstellt werden   
  7. 7. Der Compiler  Code Compiler  erstellt eine statische HTML Datei als Container  pro Browser/Sprachkombination ein JavaScript compilieren  nur verwendete Frameworkteile werden mitgeliefert   
  8. 8. Der Compiler  Bild Compiler – die Problemstellung  herkömmlich führt jedes Bild zu einer HTTP  Abfrage GET dateiname.png    200 OK
  9. 9. Der Compiler  Bild Compiler – die Lösung  mehrere Bilder werden zu einem ImageBundle  gleiche Dateigröße und dabei weniger HTTP  Requests GET dateiname.png   
  10. 10. Der Compiler  ImageBundles werden als Interfaces geschrieben  Will man Bilder nicht zentral verwalten, fasst man sie  durch ”ableiten” zusammen  Einbinden per HTML oder ImageProto   
  11. 11. Der Compiler  ImageBundles werden als Interfaces geschrieben  Will man Bilder nicht zentral verwalten, fasst man sie  durch ”ableiten” zusammen  Einbinden per HTML oder ImageProto   
  12. 12. Hosted Mode  Refresh synchronisiert mit Java­Code  Emuliert einen Browser  Oberfläche zum Exportieren in ”Web Mode”   
  13. 13. Framework  java.lang und java.util sind nachimplementiert  Bedienelemente (Widgets) sind vorhanden  Vorteil durch Abstraktion  Das Web ist ein schnell mutierendes Umfeld  Viele Problemlösungen will man in 3 Monaten ganz  anders machen  Da man weit weg vom JavaScript Code ist, reicht  eine aktualisierte GWT.jar   
  14. 14. Vorteile des Paradigmas  GWT ändert das Paradigma. Erstmals Typisierung  und Möglichkeiten zum Debuggen + Refactoren   
  15. 15. Vorteile des Paradigmas  Beliebige Java IDE, da Einbindung per .jar  GWT ist zwar allein zur Frontendprogrammierung..   bringt aber dennoch einen Tomcat Server zur  Abrundung mit  Start per Button  Aktualisieren durch Browser Refresh  Vollständiges Debuggen möglich  Teamaufteilung ist besser möglich   
  16. 16. Features 1.Bessere HTTP­Performance durch Verwendung von  ImageBundles und smarter Dateien 2.Programmiersprache für zeitgerechtes Programmieren 3.Gestaltungs­ und Bedienelemente 4.Realisierbare Usability 5.AJAX durch Remote Procedure Calls 6.Internationalisierung  7.Testing und Benchmarking  
  17. 17. Gestaltungs­ und Bedienelemente  Panel für Widgets oder weitere Panels  ähnlich AWT/Swing Konzept in Java TabPanel Horizontal­ SplitPanel   
  18. 18. Gestaltungs­ und Bedienelemente  Widgets für Benutzerinteraktionen  Normale Formular­Elemente  Button, RadioButton, CheckBox, TextBox,  PasswordTextBox, TextArea, ListBox  Formularfreie Interaktionselemente  Hyperlink, HTML  Weitere Elemente aus Desktopwelt   
  19. 19. Gestaltungs­ und Bedienelemente  Mail­Beispielclient.... erweitert :­)   
  20. 20. Realisierbare Usability  Einfache Implementierung von Browserhistory  ... und Bookmarkfunktionalität   
  21. 21. Realisierbare Usability  Implementierung durch zentralen Controller, der URL  Parameter durchreicht  Implementierung von HistoryListener   
  22. 22. Remote Procedure Calls  MailService (Interface)   Beschreibt das tatsächliche Aussehen  Wird vom Backend implementiert   
  23. 23. Remote Procedure Calls  MailServiceAsync (Interface)   AJAX Implementierung (typisch void)  Wird vom Frontend implementiert   
  24. 24. Remote Procedure Calls  emailService Proxy   
  25. 25. Remote Procedure Calls  Backend  implementiert die Methoden von MailService  komplexe Datentypen erlaubt    Frontend Backend
  26. 26. Internationalisierung  Statische VS dynamische Internationalisierung  Statische bevorzugt, da neben Sprache auch  Eigenschaften (Zeit­ und Zahlenformate)  einfacher umgestellt werden können  Auswahl entweder automatisch, über URL oder  per Methodenaufruf   
  27. 27. Internationalisierung  Mail.gwt.xml um Sprachmodul erweitern  Klasse implementieren (und instanziieren)  Property­Dateien anlegen   Mailboxes$Language.properties bzw ..._de.properties  
  28. 28. Internationalisierung  Beispiel einer Property Datei compose = Neu sync = Verschicken/Abrufen! reply = Antworten  Sprachvariablen austauschen   
  29. 29. Wiederverwendung  alter JavaScript Code kann wiederverwendet werden  durch das Schlüsselwort native  Zugriff zurück auf Java durch spezielle Syntax  Arbeit mit window und document über $wnd und $doc   
  30. 30. Testing & Benchmarking  JUNIT Integration in GWT über eigene Klasse  asynchrones Testen von Front­ bis Backend  durch Simulation von Verzögerung  Realisierung über versteckten GWT Browser  GUI­Erweiterung für Benchmarking   
  31. 31. Fragen  Fragen?   

×