It is time to wrap up some latest community activities.
Yet another alternative JVM language supported
OSGi and Vaadin ClassResources
I recently got a question about OSGi and using Vaadin ClassResources from bundles. The gotcha is that the resource files have to be in "exported" packages or the class special loader cannot find the resources. I consulted the OSGi guru Florian Pirchner who got inspired to write instructions and a helper library for the subject.
Vaadin and JSF shield you from low level web technologies
Ed Burns (Oracle, JSF spec lead) is known to like Vaadin as well. That is no surprise as Vaadin and JSF share the same core idea of abstracting away the low level complexities of web development. He discusses this in his notes he wrote about his Geekout trip. Like Ed, I see that the upcoming WebComponent standard will not make tools like JSF and Vaadin by any means irrelevant, but just make using and extending them easier. Something I'd like to note to Ed is that the server side Vaadin, that is used by most users, is actually totally decoupled from GWT. We could switch (back) to a version with a "browser thin client" implemented without GWT, and most users would need to do nothing, except upgrade their version number. The whole GWT distribution is included in Vaadin libraries just to make it more convenient to create and consume client side extensions or to mix the best technologies for each use case.
Data Binding with Vaadin
Krishna Phani Kumar has continued his tutorial-like articles about Vaadin usage. This time he is discussing the basics of data binding and forms with Vaadin's BeanFieldGroup. Good stuff to cover the basics, although I personally always emphasize using the “non-buffered” mode (with detached entities) and using "eager validation" in forms to make the code simpler and the UX better for the end users.
The lesser complexity achieved by using non-buffered input fields allowed me to tackle the second most voted feature for core Vaadin, support for cross field validation. I built the solution as a prototype into the Viritin add-on, but I'm confident that the solution is ready for real use. You can either use programmatic validators or add standard JSR 303 annotations to your entity classes. In case you try it out and find some issues in it, let me know about them via the github project.
Did you know you can nowadays use Vaadin’s Grid with PHP as well? May sound like a bizarre idea for existing Vaadin users, but with our recently launched Components project (see Google IO Polymer talk where Vaadin Components were featured), you can now use Grid in pretty much any kind of web project. Artur Signell set up an example that populates a Grid from a MySQL table using a PHP script.