Why I love Vaadin

We have chosen Vaadin from 3 years ago while we evaluated the web framework which can help us more productive in UI development. As the usual process, Vaadin is the best against the list of several popular web frameworks:

  • Wicket
  • GWT
  • ZK
  • JSF

Vaadin is a winner after the evaluation list of license, ease of use, support, performance, etc. However, the first year of using Vaadin is not the very sweet memory. We used Vaadin 6, and it does not support multi tabs without using some tricks, the theme is not easy to customize and looks not good, the output HTML has a lot of redundant div elements. We have doubted our decision of using Vaadin.

When the Vaadin guys released the Vaadin 7, it still keep us upset because a lot of architecture changes between the Vaadin 6 and Vaadin 7 and it requires a lot of effort to migrate an enterprise application to the different architect system. The good story is we have been very pleased with the first release of Vaadin 7 until the latest Vaadin version. See what Vaadin features to keep us staying with us for recent years

No Javascript and HTML required

I can develop the web application with Java only. If a developer is familiar with Java Swing or GWT before, he can write a Vaadin application in a day. The UI layout, elements integrations could be done in Java, you do not need to write any line of javascript. Below is what we build a remember password form

As you may see, the UI layout and business written by Java only. It is similar than NodeJS when you write the client and server codes in Javascript 🙂

You can use your HTML and javascript in Vaadin as well. I used the custom HTML for the complicated layout and javascript for the browser interaction that Vaadin does not support.

Beautiful Theme

We have maintained the 20.000 lines of CSS file, and we randomly made a few mistakes while changing some style and break another style. The problem has gone when we use the new Vaadin theme is Valo. We do not need to main the CSS files, but we can manage the UI theme better by using SASS processor and SCSS files. The SASS mixin, it helps us can categorize theme into smaller parts, and re-use the styles easier

and Vaadin Valo helps your UI more responsive, nicer and ease of customizing. See one demo application we create by using Valo

Server Push

We use the server push in the Vaadin 6 via a Vaadin add-ons, but Vaadin supported the server push in its core from the 7 version. The server push has many errors in the first Vaadin releases, but it becomes better from Vaadin 7.1 and be ready for production in Vaadin 7.6. Push is available for all web servers are Tomcat, Jetty or Undertow. As one of the first developers adopt Push on Vaadin 7, I recommend you should use the push extensively in your application to increase the server responsive by keeping the heavy tasks run in your background.

Configuring Vaadin push is easy. We used the Vaadin push to develop a corporate chat application for more than 500 concurrent users on a single server without any performance issue, and handle the heavy tasks without having sluggish UI.

Single page application

Vaadin is a single page application like all Ajax web applications; you can control the navigating view via the distinct URI fragments. The application does not need to load the full web page but a portion area only. The rendering speed is incredible, and our customers are happy with the Vaadin based application.

Useful Add-ons

Vaadin has more than 600 production-ready add-ons for your product. In our MyCollab product, many add-ons are helpful to our business, and we only need to develop extra add-ons in only a few cases. Such add-ons as easyupload, viritin etc provide you the powerful tool to develop the enterprise based application easier than to use the standard solution provided by Vaadin.

However, Vaadin still has things should be improved to make users happier. We can find the workarounds solution for all of them but except the below one

Mobile web application

The most disappointment to Vaadin framework lacks mobile support. Vaadin has its add-on support mobile application names Touchkit, but this add-on seems to serve for the iPhone 4 or below. The Vaadin folks just try to fix its code to keep it runs with the latest Vaadin framework; they do not add more features such as they do not let to use the new Vaadin theme Valo works well with Touchkit. Controls are styles with the iOS 6 theme, and I do not see any progress of Touchkit so far.

It seems there are additional ways to develop the Mobile application such as using Vaadin elements, by I have not found the official message from Vaadin how to write a modern mobile web application.

The great news is you still can write the excellent mobile application with Vaadin touchkit, though it is not comfortable than the desktop web application.

I recommend using Vaadin as the Java web framework in your project if you have team members have experienced with Java, and you do not to bother the integration with the javascripts and remote server scripts. The library is stable, ready to use without posting a lot of questions to ask the developers. You can mock a demo application in one or two days, it integrates well with other Java libraries and you can write the application fast. Thank you Vaadin guys for your great works, and I can say it is my first choice of developing a Java web product.

Leave a Reply

Your email address will not be published. Required fields are marked *