After 119 days and a bit late from the original schedule, Vaadin 7 alpha 2 is now released! As the name states, this is the second alpha. A total of four alpha releases are scheduled before the beta period and we will do our best to keep the timeline.
Each alpha release introduces a set of changes for the community to try out. I took the bold way and made a live coding session with a Vaadin 7 nightly build just few days ago in Moscow at JavaOne Russia. Everything worked as expected and the biggest problem was that the old APIs still occupy my muscle memory.
It will most likely take some time, but the are good things coming up to help me train my fingers some more.
Communication Refactored
The feature of Vaadin 7 I have waited for the most is the new RPC style communication featuring typed Java APIs and "shared state" handling. It makes it easier to build more sophisticated widgets as well as to integrate existing JavaScript libraries with Vaadin. Once this gets adopted, I'll expect a lot of new and more powerful add-ons to appear in the Directory.
The idea is that along with your component you have an interface that the client can call - and vice versa for the server. For widget authors this is very good news. More fine-grained communication helps you keep the state in the right place and pass the events to listeners. With the shared state you can automatically synchronize component state from the server to the client. And keep you component code more readable and maintainable.
For more information check this forum post about RPC and communication and this one about client side API changes.
More Efficient Layouts
If you have ever built a bigger Vaadin application, you know the UI rendering can get sluggish. This is mainly due to the fact that we calculate pixel sizes in JavaScript and do not rely on the browser layout mechanism. And all this because of the IE6 compatibility and support we have in Vaadin 6. This will be gone in Vaadin 7 and along comes more efficient layouts.
We are not completely satisfied yet, but the work has started and the client side layout mechanism has been redesigned. This especially affects big and complicated views with lot of nested components. You can already notice a big difference there. For example for nested vertical/horizontal layouts we have seen some browsers being now three to five times faster than previously.
You can find some more details in this forum post .
Vaadin 7 Add-ons
The Vaadin Add-on Directory has also been updated. We have added support for both Vaadin 6 and 7 versions of the same add-ons, and we will add version-specific search and browsing features soon. To get a better idea of what this means, we started porting add-ons to Vaadin 7, so you should already find some Vaadin 7 compatible add-ons in the Directory. Go ahead, create your own!
But first, get Vaadin 7 alpha 2 from the download page and check the Vaadin 7 Migration Guide.