After Shreyas shared his experience with Vaadin in his comment on my previous post, I started to play with the web framework. As it advertises, it’s “a Java framework for building modern web applications that look great, perform well and make you and your users happy.”
Based on my experience, I think it’s a great framework that is very intuitive yet powerful. All you need to do is to write Java code in a similar way to using Java AWT and Swing for standalone applications. The minor different is that you can have CSS style control on the widgets.
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
Vaadin’s programming model does not differentiate client and server piece. The code execution is actually on the server side. This is very similar to the ASP .Net model, and that explains why it’s simpler.
As with almost any engineering, you trade something for something else. Using Vaadin, you get simplification at cost of performance. For most web applications, performance may not be a big concern. Performance also depends on how you design applications. Because I haven’t run/test any Vaadin application with big scale, I don’t have much to say about it. One thing I know that ASP.Net which uses same server execution model works in large web sites, therefore the approach itself is fine.
To download and play with the Vaadin framework, you can check out its project home. The BSD license is a big plus.
While I use the Eclipse plug-in, I got into several gotchas because I installed standard Eclipse for Java developer which cannot discover Tomcat server and launch it as needed. After searching around and installing extra plug-ins, I finally got it working. It’s not really worthwhile. You want to avoid these by starting with Eclipse IDE for Java EE Developers.