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.
3. Einführung in Vaadin
Agenda
Einführung in Vaadin
Überblick
Architektur
Databinding
Entwicklung von Komponenten
Vergleich mit anderen Frameworks
Aspekte
Unterschiede
Zusammenfassung
bridgingIT / Seite 3
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. Demo: Hello World
Wichtige 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
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. Entwicklung von Komponenten
Agenda
Einführung in Vaadin
Überblick
Architektur
Databinding
Entwicklung von Komponenten
Vergleich mit anderen Frameworks
Aspekte
Unterschiede
Zusammenfassung
bridgingIT / Seite 16
17. Entwicklung von Komponenten
Grundsätzlich 3 Arten von Komponenten
• Komplett serverseitig Composite Components
• Server- und clientseitig mit GWT
• Server- und clientseitig mit Plain JavaScript
bridgingIT / Seite 17
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
23. Custom Vaadin Widget mit JS
Folgende Artefakte müssen implementiert werden:
• Widget in JavaScript (neu oder bestehend)
• Connector-Klasse in JavaScript
• Serverseitige Komponentenklasse in Java
Siehe https://vaadin.com/book/vaadin7/-/page/gwt.javascript.html
bridgingIT / Seite 23
24. Vergleich mit anderen
Frameworks
Agenda
Einführung in Vaadin
Überblick
Architektur
Databinding
Entwicklung von Komponenten
Vergleich mit anderen Frameworks
Aspekte
Unterschiede
Zusammenfassung
bridgingIT / Seite 24
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. Nachteile
• Bisher nicht so weit verbreitet
• Einige Addons sind kostenpflichtig
• Skaliert nicht beliebig
• Hat Probleme bei schlechten Antwortzeiten (Pings)
bridgingIT / Seite 33
34. Einsatzszenarien
Hauptszenario: Rich Intranet Applications
• Anwendungen mit angemeldeten Benutzern
• Bedienung wie Desktop-Anwendungen
• Verarbeitung von Daten
• Komplexere Logik
• Schnelle Entwicklung ohne großen Vorlauf
Alternativ: Rich Internet Applications
• Wichtig: Webserver „in der Nähe“ der Anwender
bridgingIT / Seite 34