I just bought an e-copy of Learning Vaadin [...] and I'm happy somebody wrote this. [...] Why I think this book is great? I'm trying to introduce Vaadin to some of my coworkers, but Book of Vaadin is, as I'm told, too complex and too reference-style. This book is just what they need, something even a complete beginner could read and learn something. Here, in Slovenia, not many people know about Vaadin and a book like this will surely spread its use. I just want You guys to know your work is deeply appreciated in more places than you probably imagine :) Keep up the good work! Mario Maric, Slovenia
During the writing of Learning Vaadin, I had many themes I wanted to write about: components data, SQL container filtering, component alignment and expand ration, separation of concerns between graphic designers and developers, only to name a few. Unfortunately, books are finite in space as well as in time and I was forced to leave out some interesting areas of Vaadin that couldn't fit in, much to my chagrin.
This site is meant to gap the bridge between what I wanted and what I could. Expect to see articles related to Vaadin!
Though embedding Vaadin parts in legacy applications was covered in Learning Vaadin, you may feel the need to go further toward this goal.
The description I made works, but your user interface has to be neatly separated into different rectangular zones for Vaadin-served iframes or divs to take place. This clearly won't achieve the best integration results: we can do better with the ExternalLayout add-on. It let you compose Vaadin components in your legacy application, irrelevant of where you Vaadin div is located on it: use-cases include a search box, a shopping cart, a menu bar, you name it!
In this article, we'll focus on a menu bar, situated at the top of the page while the main Vaadin application consists of a form located just under the title of a page (see below mockup).
Before diving in the middle of the subject, let's have a use-case first. Imagine we have a CRUD application and our current screen lists the datastore entities in a table, a line per entity and a column per property.
Now, in order to implement the Delete functionality, we use the addGeneratedColumn method of the Table component to display a "Delete" button, like in the following screenshot:
More than a year ago, I tried to use Scala to develop an example Vaadin application. Even though I'm no Scala guru (far from it), I must admit results were below what I expected them to be. Time has passed and Henri Kerola, a Vaadin team member, has commited to create a Scala add-on that aims to ease Scala Vaadin integration: the Scaladin add-on (formerly known as scala-wrappers) is more than meeting my expectations.
There are four brilliant ideas I want to focus on in this article: