Vaadin 7 Released

Vaadin Ltd. has released version 7.0.0 of their RIA web framework Vaadin. This new major version brings quite a lot of new and exciting features that hugely ease the development of Vaadin applications.

The new release goes along with a major overhaul of the framework’s API from which follows that this version is not downward compatible with legacy Vaadin applications.

The reason for this is that the Vaadin developers intended to streamline the whole framework and smoothen the rough edges of the API. One of the things the developers wanted to get rid of was the need to support legacy browsers. By dropping support for Internet Explorer 6 and 7 and old Firefox versions, the framework’s layout management could be revamped and rendering performance improved by letting the browser do the layout calculations.

The new release can be downloaded here or through Maven.

Let’s have a brief look at some of the most noteworthy new features and changes of Vaadin 7:

  • A new Navigator component has been introduced which makes it easy to write navigatable multi-page application with back button support.
  • Form handling has been significantly improved. With the old Form class now being deprecated, a new facility for form handling has been introduced. Class FieldGroup allows binding a given data model to a predefined layout and supports transactional forms (i. e. rolling back form entries is possible). By that, a form layout and its data model are strictly separated from each other, with the FieldGroup acting as an intermediate between the two.
  • Bean Validation (JSR 303) is fully supported for forms.
  • Creating themes is now greatly simplified by supporting Sass (Syntactically Awesome Stylesheets).
  • Full support for tabbed browsing. Opening a new browser tab (or a new browser window) from a Vaadin application will create an own memory scope for the tab. Thus, the tab’s data lives in its own separate part of the session. Out of sync errors of interfering browser windows are a thing of the past with Vaadin 7.
  • Improvements of the session management. You can put variables into the session scope or in UI scope, the latter of which represents a single browser tab or browser window.
  • The Google Web Toolkit is now an integral part of the Vaadin distribution. By that, you now get everything you need to develop Vaadin applications together with custom components and add-ons in one bundle. Being a member of the GWT steering committee since June 2012, Vaadin Ltd. offers commercial support for the GWT.
  • GWT’s Super Dev Mode is supported.
  • Extending the framework has been made a lot easier. The API for writing custom components was redesigned from the ground up. In addition, you can now write Extensions for Vaadin components that enhance an existing component’s functionality without being a renderable component itself. Integrating third-party JavaScript code is made very easy with the new @JavaScript annotation.
  • The once single-jar distribution of the framework has been split up into several Jar files.
  • A new edition of the Book of Vaadin will be available.
  • The commercial addons (such as Vaadin Charts) have received an update as well.
  • Support for Maven builds has been improved.
  • Vaadin’s source code is now hosted on GitHub.

The full list of Vaadin’s new features can be found here.

If you intend to migrate your Vaadin 6-based application to Vaadin 7 there is a migration guide available that provides a good overview of all things to consider for that task.

Missed and Postponed Features

Some features, such as switching translations on-the-fly or support for WAI-ARIA, were originally planned for version 7 but had to be postponed to some future release due to time restrictions. Planned for the next release 7.1 is support for server-push and a complete redesign of the table component.

There are still some performance issues which will be tackled in the coming maintenance releases.

Short URL for this post:

About Roland Krüger

Software Engineer at Trivadis / Orientation in Objects GmbH. Follow me on Twitter.
This entry was posted in Java Web Frameworks, Web as a Platform and tagged . Bookmark the permalink.

Leave a Reply

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