I have had the intention for a while now to try and comment on the Vaadin framework. The website, plugins and demos exude confidence for this comprehensive toolset. After a commentator on my last post suggested that I try the framework, I took this advice and proceeded through the tutorials.
The address book tutorial is a great introduction to the framework, the web application demonstrated is quite comprehensive and is fairly boiler-plate code free. Check out my finished application here: http://thinktaxi.appspot.com. I, like most developers, dream of the ultimate framework where we can get on with just programming the logic of the application and the boiler place code is handled beautifully and efficiently by the abstraction the framework provides. It is like the search for the Holy Grail, except of course I hope one day that this framework may actually exist.
Vaadin is advertised as being: "Built on GWT-based widgets, Vaadin applications support all Ajax-capable browsers, with no plugins." This is a true statement but after completing the tutorial I feel that this needs further explanation. Vaadin runs completely on the server, using GWT as a container. The integration of GWT and Vaadin appears to be quite separate. An initial peruse around the documentation may lead you to think that Vaadin is a set of GWT-Widgets that can be used to dress up your typical GWT application. This assumption maybe false. I say maybe because I am fully expecting a Vaadin expert to correct my assumption here. Vaadin is almost completely separate to GWT and shouldn't really be considered to be part of it.
So, Vaadin runs on the server, which allows you to write complete Java code, a "benefit" when compared to GWT in which you are allowed to use certain Java libraries in the client code. However the downside is that everything you do in Vaadin involves a trip to the server. This in itself is a crucial point and raises the question. How efficient can Vaadin be if everything requires a round trip? An additional downside is that you are learning a whole new architecture system on top of GWT. Which restricts your future solutions if your companies knowledge base is Vaadin only.
Anyway I am not a hater. Although I am a GWT fanboy so Vaadin lovers prepare to feel the love. What applications might make Vaadin a good solution. Well I think the quick small utility type applications that maybe used on an intranet or for just one company might be the answer. In business, typically the speed of development and deployment is more important than how well your application performs. The function of the application may never reach more than 100 users, so the load on the application will never be high. I was very impressed by the speed and complexity of the application developed through the tutorial and I could see many benefits for RAD development.
In summary Vaadin good for small business development, but it is not a GWT framework contribution and shouldn't be considered as such (If you made that assumption like I did).