Das Vaadin-Framework abstrahiert von Web-Technologien und ermöglicht es so Java-Entwicklern, schnell Komponenten zu entwerfen und einzusetzen, die sehr gut wiederverwendbar sind, und deren Funktionen sich in Unit-Tests absichern lassen. Die Interaktionen zwischen den Komponenten können elegant in funktionalen Tests abgebildet werden. Der Benutzer verwendet eine Web-Applikation, die sich wie eine Desktop-Applikation anfühlt. Für einen attraktiven Auftritt sorgen das Theming sowie moderne UI-Komponenten. Eine reiche Palette an Plugins erweitert das Angebot an Features bei Bedarf. Vaadin ist ausgereift, frei verfügbar und quelloffen und integriert sich auf Wunsch mit Java EE-Technologien wie z.B. der JPA oder dem Spring Framework.
Das Seminar führt die Teilnehmer in alle grundlegenden Konzepte des Frameworks ein und überwindet dabei nicht nur die Einsteigerhürden, sondern demonstriert anhand der Praxis-Übung auch Lösungen für die Fallstricke aus dem "echten" Leben.
Das Seminar richtet sich an Einsteiger (Software-Entwickler und Programmierer) die umfangreiche RI-Anwendungen (RI= rich-internet) mit dem Vaadin-Framework erstellen wollen. Die Teilnehmer sollten gute Java SE-Kenntnisse, grundlegende Kenntnisse in HTML, CSS und JavaScript, Erfahrung mit Eclipse oder IntelliJ mitbringen. Es sind keine Kenntnisse über das Google Web Toolkit (GWT) nötig! Hilfreich ist Erfahrung mit servlet-container, z-B. Tomcat oder Jetty.
Allgemeines
Überblick über das Framework und die Community
Installation / Integration in der IDE (Eclipse / IntelliJ)
Architektur und Technologien: GWT, SASS
Server-seitige Anwendungen
Applikation, Servlets / Portlets, UIs
Event Handling
Verarbeiten von Ressourcen (Bilder, Multimedia)
Error Handling und Notifications
Lifecycles und Scopes
Deployment und Application Lifecycles
Komponenten und Layouts
Fertige Komponenten verwenden
Standard-Layouts einsetzen
Custom-Layouts kennenlernen
Komplexe Komponenten erstellen
Formulare
Drag-n-Drop
Upload / Download
Progress Bars und das Websocket Push
Automatisierte Tests
Model-View-Presenter-Architektur
Unit-Tests für Komponenten
Funktionale Tests für Komponenten-Interaktion
Hooks zum Framework / geschicktes Mocking
Vaadin und Selenium, Tipps und Tricks
Das PageObject-Pattern
Themes
CSS und Sass
Themes paketieren, ausliefern und anpassen
Valo Theme
Responsive Designs
Data Binding
Container, Items und Properties
Bean Validation (JSR 349)
Weiterführende Themen
Views und Navigation
Interaktion mit JavaScript
Vaadin mit CDI und Spring
Zugriff auf Application, Session, Request, Service und Page
Mehrsprachigkeit (i18n)