Realdolmen Education

Details

Vaadin 7

This course is currently not scheduled on the open calendar, but can be organized on request.

Request Course

Duration

2 day(s)

Audience

Java developers who want to learn Vaadin to create Web Applications

Prerequisites

Having basic Java knowledge, as well as some experience with Java EE (JPA, JSP/Servlets, ...). Having experience with Swing is an advantage.

Objectives

Learn how to get started with the Vaadin framework.

Methods

Classroom training with hands-on exercises.

Description

It can be hard to create web applications. Not only does it require you to handle CSS and JavaScript, it does not seem to behave the same way in all the different browsers! At the same time, you want the web application to be user friendly, easy to extend and easy to maintain.

Vaadin is a web application development framework that allows Java developers to build high-quality user interfaces. Vaadin programs are written in Java, just as you would program in other conventional user interface toolkits, like Swing. But you do not have to deal with HTML, CSS and JavaScript! Vaadin makes browser technologies invisible to the application logic. The Java code is compiled into HTML and JavaScript and will run inside a client-side engine on the browser. Events are sent back to the server-side, where requests are handled by a Servlet. Vaadin uses AJAX to make the user interface responsive and interactive, and has a whole library of ready to use components at your disposal. It supports themes with Sass and CSS, making it versatile and easy to use.

During this course you will get an introduction to Vaadin. First the course will help you to get started with Vaadin development, through the configuration of a first HelloWorld project, with Maven and IDE configuration examples. The course then continues with an overview of the Vaadin architecture. Next, the principles of server-side development are explained and put into practice through exercises. The course includes an overview of the many components available in the Vaadin libraries. Integration with the database is covered through a chapter on the JPAContainer. Customizing your application is done through layouts and themes, for which each topic gets its own chapter. Instructor-led exercises will help you put the theory into practice.

While the contents of the course do seem overwhelming, the framework will really help you to be more productive by focussing on the application logic instead of browser quirks. Follow this course and discover the power of server-side web development with Vaadin!

Contents

  • Introduction
    • Goal
    • Agenda
    • Supplementary materials
    • What is Vaadin?
    • Vaadin application architecture
    • Support for Eclipse IDE
    • Vaadin philosophy
    • History of Vaadin
    • HelloWorld
    • HelloWorld explained
  • Getting started
    • Getting started
    • Reference toolchain
    • Vaadin libraries
    • Creating a Maven project
    • Starter UI
    • Compiling and running
    • Creating a project with IntelliJ IDEA
    • Creating a Maven project with IntelliJ IDEA
  • Architecture
    • Vaadin runtime architecture
    • Major parts
    • Technologies
    • Client-Side Engine
    • Events and listeners
  • Writing a server-side web application
    • Server-side application architecture
    • Starting with a Vaadin application
    • Other basic elements
    • Building the UI
    • Vaadin application patterns
    • Designing UIs declaratively
    • Declarative syntax
    • Component elements
    • Inline content and data
    • Component attributes
    • Parent component settings
    • Component identifiers
    • Using designs in code
    • Using a design
    • Handling events with listeners
    • Images and other resources
    • Resource interfaces and classes
    • File resources
    • Class loader resources
    • Theme resources
    • Stream resources
    • Handling errors
    • Customizing system messages
    • Handling uncaught exceptions
    • Notifications
    • Notification types
    • Customizing notifications
    • Application lifecycle
    • Loading a UI
    • Closing UIs
    • Session expiration
    • Deploying an application
    • @WebServlet
    • Using a web.xml deployment descriptor
    • Mapping sub-paths
    • Configuration parameters
    • Deployment configuration
  • User interface components
    • Vaadin user interface components
    • Common component features
    • Field components
    • Field validation
    • Bean validation
    • Selection components
    • Label
    • Link
    • TextField
    • TextArea
    • PasswordField
    • RichTextArea
    • DateField
    • InlineDateField
    • Date and time resolution
    • Button
    • CheckBox
    • ComboBox
    • ListSelect
    • NativeSelect
    • OptionGroup
    • TwinColSelect
    • Table
    • Tree
    • Grid
    • MenuBar
    • Upload
    • ProgressBar
    • Slider
    • PopupView
    • Calendar
    • CustomComponent
    • Embedded resources
  • Layouts
    • Layouts overview
    • Layout components
    • UI, Window, and Panel Content
    • VerticalLayout and HorizontalLayout
    • Sizing contained components
    • GridLayout
    • FormLayout
    • Panel
    • Sub-Windows
    • HorizontalSplitPanel and VerticalSplitPanel
    • TabSheet
    • Accordion
    • AbsoluteLayout
    • CssLayout
    • Layout formatting
    • Custom layouts
  • Themes
    • Themes
    • Contents of a theme
    • Using a theme
    • Sass
    • Sass overview
    • Compiling Sass themes
    • Creating and using themes
    • Styling standard components
    • Using built-in themes
    • Valo theme
    • Theme optimization
    • Font icons
    • Responsive themes
  • Vaadin JPAContainer
    • Vaadin JPAContainer
    • Architecture
    • ORM ? Object Relational Mapping
    • Buffered or unbuffered
    • Installing
    • Configuration
    • Defining a domain model
    • Persistence metadata
    • Using the JPAContainer
    • Entity providers
    • Using JNDI entity providers in JEE6 environment
    • Entity providers as Enterprise Beans
    • Filtering JPAContainer
    • Querying with the Criteria API
    • Automatic form generation
    • Using the FieldFactory
    • Using JPAContainer with Hibernate
  • More topics and components
    • More topics and components
    • Books
    • Summary