Vaadin Vs OpenXava

I am looking for the pros and cons of Vaadin compared to OpenXava.
Googled but could not find any detailed comparison.
Could you please share if you have experience on both?


Disclaimer: I work for Vaadin Ltd.

I’d say OpenXava is an insteresting option if you want to quickly implement a full-blown web application but only if the generated UI suits the User Experience you want to provide. I think Vaadin also has better documentation and more chances of finding developers using it. I’d say that if your project life-time is not short, Vaadin sounds like a safer bet. If you need the application developed in a few days, maybe OpenXava is a better option if you don’t know other technologies (such as those for persistence). But it all depends on your requirements, as allways.

My advice is that not only you should evaluate the technical capabilities of a framework but also you should really enjoy using the framework you select. You should enjoy coding with the framework, reading the documentation or available books, interacting with the community, finding and even contributing add-ons, and so forth. So, make sure you select technologies you enjoy using!

Hi Alejandro,

Thanks… But I need more comparision mainly in terms of security.
For instance Vaadin is a server-side framework so does OpenXava Model-driven.
In a Vaadin application, the data validation is always done on the server and thus cannot be by-passed with client-side attacks…How this is handled in OpenXava…etc…


I use Vaadin for all my projects but got a request now to do a new project using OpenXava…I never used OpenXava before…So need some justifications to stay with Vaadin:-)

I guess there are a number of similarities. They are both GWT based.

OpenXava’s community seems to be primarily Spanish speakers. This is due to the originins of the software. There’s nothing wrong with that and I’ve found no evidence that it detracts from what’s available in English language in forums, blogs, etc. But I like better the Finnish model (Vaadin is made by Finns, mostly). Finnish speakers know that it’s a no-go to publish ANYTHING in their own language. EVERYTHING is in English. And I mean EVERYTHING. Spanish is such a huge language which means they can sometimes digress into using Spanish. This is just highly opinionated and from general experience :-), but if you look at OpenXava you’ll see there are more entries in their Spanish help forum than in their English help forum which potentially indicates that you get the best community help if you know Spanish. Of course if you are Spanish speaker yourself all of this becomes an advantage, not a (potential) disadvantage.

One thing I like is how easy their grid incorporates the inline action buttons that we all need:

Inline action buttons are way to difficult to do with Vaadin Grid for my taste.

Those are two diferents, but amazing, tools.
Openxava is a Model Driven Application (MDA)Framework, and it is usefull just for JPA (database) based applications.
Actually with a little work you can use it for another datasources, like rest or soap, apps, but it is not its main stream or powerful focus.
If your architec doesn complaint about getting some Model Classes who becames the Master King, The GODS, of your application’s code and logic, and also dosen’t care about the limited user experience, openxava is a very good choice in terms of productivity.
By other side, if your architec wants a very controled and defined N tier application, using many diferents datasources and protocols, then Vaadin, upon other JEE or Spring similar tools, will be your choice. Also, if your users expects a very grainded and sophisticated user interface, under your absolute (as a developer) controll them Vaadin is the right tool for you.
Remenber, in Openxava, the Model Class is The GOD. Everything you gonna neeed to do must be done on those model classes much of the time. It is a FULLSTACK Framework.
Vaadin is a PRESENTATION FRAMEWORK. An AMAZING ONE, but It cares just about it, presentation, with its own models and particular approach. For the other functions you wanna implement you have to use another tools.
Both approach are good depending on your architecture’s requeriments, datasources, integrations goals and enterprise delopment culture.

Hope this information can be helpful for you.

Best Regards.

I fully agree with Bladimir.

I’m using Vaadin somewhat similar to openXava! I have created ‘data classes’ (persitsance implemented, but not JPA compliant) with annotations that can auto-create ‘presentation layers’ (views) similar to openXava. However, my annotations are limited in number but openXava has a very rich set. I came across openXava very recently, otherwise, I would have created annotations in my data classes compatible with openXava annotations.

So, I have the advantage of building any kind of presentation layer using ‘raw’ Vaadin components (like any other Vaadin application) that are not just a data-mapped screen from the data classes.