Yet another Java Web Framework?             Christian Janz         christian.janz@bridging-it.de                          ...
AgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen FrameworksAspekt...
Einführung in VaadinAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit ande...
bridgingIT / Seite 4
Überblick   Vaadin = finnisch für weibliches Rentier             (wörtlich „Ich beharre“)   RIA-Framework der Vaadin Ltd...
Geschichte                 Kommerzielle Lizenz                                        Apache License 2                    ...
bridgingIT / Seite 7
Architektur: Grobe Übersicht                Vaadin Frameworkhttps://vaadin.com/book/-/page/intro.html#figure.intro.archite...
Vergleich mit Plain GWT                     Vaadin                    Plain GWT                                bridgingIT ...
Demo Hello World•   Voraussetzung     •   Eclipse oder Netbeans     •   Servlet-Container (im Beispiel: Tomcat 7)•   Insta...
Demo: Hello WorldWichtige Punkte in dieser Demo•   Eclipse-Integration: Projekt Wizard•   Projekt-Layout•   Einfachheit de...
DatabindingAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen Frame...
Interfaces             String lastName             class Person {             }             List<Person>                  ...
Databinding: Big Picture                           bridgingIT / Seite 14
Databinding: Feature-Demos•   Mehrere Views synchronisieren•   Konvertierung Model  View•   Bean Validation (JSR-303)•  ...
Entwicklung von KomponentenAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich m...
Entwicklung von KomponentenGrundsätzlich 3 Arten von Komponenten•   Komplett serverseitig  Composite Components•   Server...
Composite Components•   Unterklassen von com.vaadin.ui.CustomComponent•   Rein Serverseitig•   Komposition bestehender Kom...
Client-Side Engine                     bridgingIT / Seite 19
Custom Vaadin Widget mit GWT                               bridgingIT / Seite 20
Custom Vaadin Widget mit GWTFolgende Artefakte müssen implementiert werden:•   GWT Modul•   GWT Widget (neu oder bestehend...
Custom Vaadin Widget mit JS                              bridgingIT / Seite 22
Custom Vaadin Widget mit JSFolgende Artefakte müssen implementiert werden:•   Widget in JavaScript (neu oder bestehend)•  ...
Vergleich mit anderenFrameworksAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVerglei...
.equals(aPear)         bridgingIT / Seite 25
Aspekte                   Organisation                   • Lizenz                   • Firma                   • Community ...
Frameworks             bridgingIT / Seite 27
Unterschiede OrganisationAspekt            Vaadin        GWT          Smart GWT     RichFacesLizenz            Apache 2.0 ...
Unterschiede ArchitekturAspekt            Vaadin      GWT         Smart GWT        RichFacesServer-/Client-   Server      ...
Unterschiede EntwicklungAspekt          Vaadin      GWT           Smart GWT           RichFacesGeringe                 ...
ZusammenfassungAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen F...
Vorteile•   Open Source•   Reifes Framework mit guter Community•   Gute Dokumentation•   Kommerzieller Support erhältlich,...
Nachteile•   Bisher nicht so weit verbreitet•   Einige Addons sind kostenpflichtig•   Skaliert nicht beliebig•   Hat Probl...
EinsatzszenarienHauptszenario: Rich Intranet Applications•   Anwendungen mit angemeldeten Benutzern•   Bedienung wie Deskt...
Fragen und Antworten            Fragen?                       bridgingIT / Seite 35
Wir freuen uns auf Sie.Standort Mannheim                    Standort StuttgartN7, 5-6                              Königst...
Nächste SlideShare
Wird geladen in …5
×

Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)

2.402 Aufrufe

Veröffentlicht am

Vaadin erfreut sich immer größerer Beliebtheit. Ist es nur ein weiteres neues Java Web Framework oder was steckt dahinter?

Diese Session gibt eine Übersicht über Vaadin und vergleicht es mit anderen Frameworks. Außerdem werden einzelne Aspekte wie Databinding in Live Demos genauer betrachtet. Abrundend gibt der Vortrag einen Überblick über die Vor- und Nachteile und stellt typische Einsatzszenarien vor.

0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.402
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
21
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Vaadin - Yet another Java Web Framework? (Google DevFest Karlsruhe 2012)

  1. 1. Yet another Java Web Framework? Christian Janz christian.janz@bridging-it.de bridgingIT / Seite 1
  2. 2. AgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen FrameworksAspekteUnterschiedeZusammenfassung bridgingIT / Seite 2
  3. 3. Einführung in VaadinAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen FrameworksAspekteUnterschiedeZusammenfassung bridgingIT / Seite 3
  4. 4. bridgingIT / Seite 4
  5. 5. Überblick Vaadin = finnisch für weibliches Rentier (wörtlich „Ich beharre“) RIA-Framework der Vaadin Ltd. aus Finnland www.vaadin.com Showcase: http://demo.vaadin.com/sampler Framework steht unter Apache License 2 Viele kostenlose Addons Kostenpflichtiger Pro Account  Feature Voting, Bug-Fix Priority  Pro Addons  Support Kein wirklich neues Framework bridgingIT / Seite 5
  6. 6. Geschichte Kommerzielle Lizenz Apache License 2 Vaadin 6  Eclipse Plugin Vaadin 6.8.5 Weitere Projekte auf Basis der Millstone Library IT Mill Toolkit Vaadin 7 Release 5 Beta 7 Millstone Library 1.0 IT Mill Toolkit Release 4 VaadinIT Mill wird  AJAX Directorygegründet 2000 2006 2008 2009 2012 2013http://vaadin.com/book/-/page/intro.overview.background.html bridgingIT / Seite 6
  7. 7. bridgingIT / Seite 7
  8. 8. Architektur: Grobe Übersicht Vaadin Frameworkhttps://vaadin.com/book/-/page/intro.html#figure.intro.architecture bridgingIT / Seite 8
  9. 9. Vergleich mit Plain GWT Vaadin Plain GWT bridgingIT / Seite 9
  10. 10. Demo Hello World• Voraussetzung • Eclipse oder Netbeans • Servlet-Container (im Beispiel: Tomcat 7)• Installation Vaadin Tools von http://vaadin.com/eclipse • Siehe https://vaadin.com/book/-/page/getting-started.package.html bridgingIT / Seite 10
  11. 11. Demo: Hello WorldWichtige Punkte in dieser Demo• Eclipse-Integration: Projekt Wizard• Projekt-Layout• Einfachheit der Entwicklung• Debuggen in Eclipse• Debuggen im Browser • Inhalt der XHR-Anfragen • Debug-Console (?debug) bridgingIT / Seite 11
  12. 12. DatabindingAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen FrameworksAspekteUnterschiedeZusammenfassung bridgingIT / Seite 12
  13. 13. Interfaces String lastName class Person { } List<Person> bridgingIT / Seite 13
  14. 14. Databinding: Big Picture bridgingIT / Seite 14
  15. 15. Databinding: Feature-Demos• Mehrere Views synchronisieren• Konvertierung Model  View• Bean Validation (JSR-303)• Tabelle und Formular synchronisieren• Weitere Demos siehe: http://demo.vaadin.com/book-examples-vaadin7/book/ bridgingIT / Seite 15
  16. 16. Entwicklung von KomponentenAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen FrameworksAspekteUnterschiedeZusammenfassung bridgingIT / Seite 16
  17. 17. Entwicklung von KomponentenGrundsätzlich 3 Arten von Komponenten• Komplett serverseitig  Composite Components• Server- und clientseitig mit GWT• Server- und clientseitig mit Plain JavaScript bridgingIT / Seite 17
  18. 18. Composite Components• Unterklassen von com.vaadin.ui.CustomComponent• Rein Serverseitig• Komposition bestehender Komponenten public class LoginForm extends CustomComponent { private TextField usernameField; private PasswordField passwordField; public LoginForm() { VerticalLayout verticalLayout = new VerticalLayout(); setCompositionRoot(verticalLayout); usernameField = new TextField("Username"); usernameField.setRequired(true); verticalLayout.addComponent(usernameField); passwordField = new PasswordField("Password"); verticalLayout.addComponent(passwordField); } } bridgingIT / Seite 18
  19. 19. Client-Side Engine bridgingIT / Seite 19
  20. 20. Custom Vaadin Widget mit GWT bridgingIT / Seite 20
  21. 21. Custom Vaadin Widget mit GWTFolgende Artefakte müssen implementiert werden:• GWT Modul• GWT Widget (neu oder bestehend)• Connector-Klasse• SharedState-Klasse• Serverseitige KomponentenklasseSiehe https://vaadin.com/book/vaadin7/-/page/gwt.html bridgingIT / Seite 21
  22. 22. Custom Vaadin Widget mit JS bridgingIT / Seite 22
  23. 23. Custom Vaadin Widget mit JSFolgende Artefakte müssen implementiert werden:• Widget in JavaScript (neu oder bestehend)• Connector-Klasse in JavaScript• Serverseitige Komponentenklasse in JavaSiehe https://vaadin.com/book/vaadin7/-/page/gwt.javascript.html bridgingIT / Seite 23
  24. 24. Vergleich mit anderenFrameworksAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen FrameworksAspekteUnterschiedeZusammenfassung bridgingIT / Seite 24
  25. 25. .equals(aPear) bridgingIT / Seite 25
  26. 26. Aspekte Organisation • Lizenz • Firma • Community • Dokumentation Entwicklung • Support Architektur • Lernkurve • Server/Client UI • Verwendete • Anwendungs- Sprachen /Seitenbasiert • Eigene • Komponenten Komponenten • Skalierbarkeit bridgingIT / Seite 26
  27. 27. Frameworks bridgingIT / Seite 27
  28. 28. Unterschiede OrganisationAspekt Vaadin GWT Smart GWT RichFacesLizenz Apache 2.0 Apache 2.0 LGPL/ LGPL KommerziellVerantwortliche Vaadin Ltd. Google Isomorphics JBossOrganisationCommunity    Dokumentation    Kommerzieller Ja Nein Ja JaSupport bridgingIT / Seite 28
  29. 29. Unterschiede ArchitekturAspekt Vaadin GWT Smart GWT RichFacesServer-/Client- Server Client Client/Server* ServerUI-FrameworkAnwendungs- Anwendung Anwendung Anwendung Seiten/SeitenbasiertVerfügbarkeit    KomponentenSkalierbarkeit     bridgingIT / Seite 29
  30. 30. Unterschiede EntwicklungAspekt Vaadin GWT Smart GWT RichFacesGeringe    LernkurveVerwendete Java, CSS Java 1, CSS Java, JavaScript, Java, JavaScript,Sprachen CSS HTML, XML, CSSEinfachheit    Komponenten-Entwicklung1 nur Teilmenge bridgingIT / Seite 30
  31. 31. ZusammenfassungAgendaEinführung in VaadinÜberblickArchitekturDatabindingEntwicklung von KomponentenVergleich mit anderen FrameworksAspekteUnterschiedeZusammenfassung bridgingIT / Seite 31
  32. 32. Vorteile• Open Source• Reifes Framework mit guter Community• Gute Dokumentation• Kommerzieller Support erhältlich, falls gewünscht• Viele Komponenten und Addons• Einfache Entwicklung• Gutes Theming-Konzept• Einfaches Deployment• Verwendung von GWT auf Clientseite bridgingIT / Seite 32
  33. 33. Nachteile• Bisher nicht so weit verbreitet• Einige Addons sind kostenpflichtig• Skaliert nicht beliebig• Hat Probleme bei schlechten Antwortzeiten (Pings) bridgingIT / Seite 33
  34. 34. EinsatzszenarienHauptszenario: Rich Intranet Applications• Anwendungen mit angemeldeten Benutzern• Bedienung wie Desktop-Anwendungen• Verarbeitung von Daten• Komplexere Logik• Schnelle Entwicklung ohne großen VorlaufAlternativ: Rich Internet Applications• Wichtig: Webserver „in der Nähe“ der Anwender bridgingIT / Seite 34
  35. 35. Fragen und Antworten Fragen? bridgingIT / Seite 35
  36. 36. Wir freuen uns auf Sie.Standort Mannheim Standort StuttgartN7, 5-6 Königstraße 4268161 Mannheim 70173 StuttgartStandort Frankfurt Standort KarlsruheSolmsstraße 4 Rüppurrer Straße 460486 Frankfurt 76137 Karlsruhe Standort Köln Richmodstraße 6 50667 Köln Alle Rechte vorbehalten. Die Weitergabe oder Vervielfältigung ist ohne vorherige schriftliche Zustimmung der BridgingIT GmbH nicht erlaubt. Copyright © BridgingIT GmbH

×