Vaadin Add-on Compo

If you have an idea for a Vaadin add-on, do not hesitate to implement it and share your add-on with the Vaadin community! Implementing and publishing add-ons is really easy - it might take just one afternoon from the idea to get your add-on in the hands of other Vaadin developers. The community will rate the add-ons.

Each month the author of the best add-on wins a free iPad.

Read more about the competition and see the live ranking list of the add-ons on the official Vaadin Add-on Compo -page.

Ladies and gentleman - the competition is now officially open! 

Joonas Lehtinen


Vaadin Directory Opens its Doors

Vaadin Directory is now open. Your are welcome to browse, download and try number add-ons that can make you Vaadin-based applications even better!

Vaadin Directory is all about add-ons to Vaadin Framework. Most notably the add-ons are additional user interface components, but you'll also find themes, data integration components, tools and other helpers to Vaadin developers. Today, there are already 95 downloadable add-ons in Vaadin Directory - and this is just the beginning.

The key idea has been to make it as simple as possible to extend Vaadin Framework; To package and distribute those extensions as add-ons and especially to make it very simple for the developers to use add-ons. In most cases you just download and drop an add-on jar package in your project and it just works. No other framework bundles both the client-side and the server-side parts of add-on components in such an easy package.

Anyone can create and publish new add-ons easily. For Eclipse users there is even a handy wizard for making the process automatic. You are free to release your add-on with any of the most used Open Source licenses. In addition to that - if you want to - you can also set a (per developer) price for your add-ons and and start selling them. When there is even a mention of money in a context of free open source developer tool, it always raises questions and doubt. If you have any, please ask. I try to answer the questions at the forums.

And one more thing. We all wish that there will be several hundreds of add-ons by the end of the year. As a thank the future add-on developers who share their creations with the rest of the community,we will give away a number of different gadgets to the best add-ons during the year. First, there will be some free iPads for the best add-ons added to the directory before June. More info will be added after Easter to Vaadin Blog. So ladies and gentlemen, start you IDEs!

Happy Easter and happy experimenting with the new add-ons! Welcome to Vaadin Directory - come and see what the Easter bunny has hidden into

Joonas Lehtinen

Update: Recorded 4-min demo on how to create a new Vaadin project from scratch, download and integrate an add-on (Vaadin Timeline) to it and run the resulting application. Watch the demo in HD at YouTube

BlackBeltFactory made with Vaadin - part 2 - Usage

This post is about, a community for learning Java related technologies.

70,000 members contributed to building 100+ exams and great courses over the years.

Typically developers go there to:

  • Take free exams
  • Take distant courses with a coach
  • Contribute to the courses and exams content
  • Coach other developers

Should we add exams and courses about Vaadin on BlackBeltFactory?
Give your opinion in this Vaadin forum thread.

see part 1 : the selection of Vaadin

I've used Vaadin intensively for 4 months in 2009.

The beginning was easy and we acheived results quickly, thanks to:

  1. The good (logical) API
  2. The complete user's guide
  3. The examples

I must admit that I've spent some days on the JPA/Hibernate integration. Not that Vaadin and JPA are related. But I had to use JPA a little bit differently than in a classic Controller/View design. And the Vaadin site contained a misleading example where they mixed UI code and Hibernate sessions. My main question was, when displaying selectable lists, whether to keep the detached entities in the Vaadin component (= in the HttpSession) or not. With Struts/JSP, I would certainly not have kept the entities of the list. Now, I know that with Vaadin I keep them. It would have been nice to have a realistic and well-designed example of a small Vaadin/Spring/Hibernate business application.

Along the project we've spent some days to correctly manage the "windows", to have multiple tab browsing work well. The Vaadin API will probably improve on that perspective with the v7.

Toward the end, we've also spent days to improve the performance of the site. We did a few mistakes, such as not compressing the GWT generated JavaScript. We also had to limit the usage of nested Vaadin visual components (layouts), because the JavaScript takes too long to execute for heavy pages. Server/client data transfer is no real issue, but the time it takes for Vaadin JavaScript to reorder stuff in the browser can be too long with complex pages (as our home page). For example, notice the load time difference between a long and a short page of our reference manual. For a few critical pages, we have replaced the usage of heavily nested Vaadin layouts, by pure old good (but trivial) html. This is the case of the list of events (right columns) of the home page. An event typically contains a line of text with a link and a user's picture. We have hand-coded the html for producing an event in the list. It took some time to get used to the boundaries of the framework. That being said, hand coded html concerns less than 1% of the visual part of our Vaadin application.

Not everything has been easy and immediate, but thanks to the excellent quality of the:

  • API,
  • product,
  • source code,
  • documentation and
  • forum,

we have been much more productive during the first 4 mouths since using Vaadin than ever before.

Simple things are very easy and natural. Complex things are possible. We've always got smart and accurate answers to our questions in the forum within 24h. That made us over-use the forum a little bit.

With Struts/JSP/JavaScript, we used to be slowed down by the deficient programming model and technical issues. It gave us plenty of time to think about the layout of our pages and the functional requirements. Since Vaadin, I sometimes develop the UI so fast that I have to force myself to stop coding in order to think about the layout and application features.

I really would like to thank Vaadin's team for their great work and tell them that I've never ever become to regret our choice.

John Rizzo
BlackBeltFactory co-founder.