Vaadin: A Java Web Application Framework
Introduction
Perhaps you're tired of battling web frameworks with their mix of languages, rules, configurations, scripts and XML files. Are page-oriented web apps with the attendant complexity of handling state, debugging and testing making life difficult? Does the thought of supporting multiple browsers suck all the air out of the room? Maybe you or your team are more familiar with Java application development than web development. For these reasons and more, you should investigate Vaadin, which is Open Source and freely available at http://vaadin.com under the Apache 2.0 license.
Server-Side Development
Vaadin is a Java web application framework for Rich Internet Applications (RIA) which have many characteristics of desktop applications but are web applications running in browsers. The large collection of UI components and the use of layouts is more akin to Swing development for the desktop. Developers implement these widgets in a Java server application which Vaadin dynamically translates (using Google's Web Toolkit (GWT)) into browser client-side components using AJAX technology behind the scenes. The application code runs in the server, handling the client requests via “normal” event listener handlers.
Support, Community and Tools
The free support behind Vaadin is impressive. The Book of Vaadin is an excellent manual. There is a short tutorial and a long tutorial covering many aspects of the Vaadin library. I have used the Vaadin Forum several times and the response from the community has been swift and helpful. There is an impressive Sampler Demo page at http://demo.vaadin.com/sampler which shows off all the UI components and the source samples used behind each one. And, of course, the source code for Vaadin is available.
Also available are tools for Eclipse and Netbeans integration, Maven support and testing. I've used the Eclipse plug-in for development and a Glassfish server and debugging is almost like debugging a desktop application-- no more breaks when something magical happens because of XML. I would say the area that could use more attention is explaining database binding. It's discussed in the book, but not really demonstrated. A solid tutorial showing this, now that one of the SQL Add-ons has lately been incorporated into the basic Vaadin library, would be useful.
There is a growing library of Add-ons (nearly 200), some free and some for sale. Example Add-ons include additional UI widgets, data components, themes, tools, etc.
Basic Vaadin, however, may be all you need. The basic Vaadin library is a single JAR file which needs to be included as part of your web application.
The company behind Vaadin is Vaadin Ltd., based in Finland. They also provide support and development help for a fee. The Vaadin framework may not be the holy grail but it's worth a look, if only to compare it to other frameworks.
Some other features:
The five supported browsers are:
-
Internet Explorer 6 – 9
-
Firefox 3 – 6
-
Safari 4 – 5
-
Opera 10 – 11
-
Chrome 13
Servers supported:
-
Apache Tomcat 4.1+
-
Oracle Weblogic Server 9.2+
-
IBM WebSphere Application Server 6.1+
-
JBoss Application Server 3.2.8+
-
Glassfish 2+
-
Google App Engine
-
Others
Comprehensive Component Framework
-
Rich, interactive widgets with lazy-loading
-
Drag and Drop support
-
Mobile touch event support
-
Databinding using MVC
Security
-
Server-side state management
-
Application code runs in the server
-
Secure parameter and request validation
-
Built-in input validation
-
SSL support
Extensible Component Architecture
-
Extensible widgets based on GWT
Comments
Thanks, Tenkay. The Book of Vaadin is very good and free. They also have a pretty good tutorial. Good luck.
TENKAY 3 months ago
Hey this is great. I will look into this and will ask some friends to try the framework. Expect some questions from us, hope you don't mind.
Thanks for sharing.