Vaadin is a large collection of UI components. You compose the application user interface from components such as Buttons, Tables, Trees and Layouts. The components use events, listeners and data binding to communicate with each other and with your business logic.
Vaadin is a robust architecture for rapid application development. The component-based architecture together with statically typed Java language and data binding features help you build applications that are easily modularized and refactored as needed. The IDE and tooling support including visual designing tool help you to build web user interface extremely fast.
Vaadin - Reviews
Vaadin is good if you want to write applications that are exposed to a limited number of people since it stores the state of the UI in the server.
Pros of Vaadin:
--> Quickly write simple applications.
--> Seamless experience, you can really stick to Java and the rest will be handled by Vaadin.
--> Ability to create custom experience by leveraging the server state, for example I use stateful pages, where the page doesn't lose its data even you navigate away from it, great for users who are used to Swing/desktop applications.
--> Large library of components.
--> You can create nice application using the free version.
Cons of Vaadin:
--> You are abstracted away from the DOM, and experience dictates when there are many layers (for the sake of simplicity) those layers will bite you by restricting and imposing ways of doing things.
--> Initial coding is required to establish a framework over Vaadin as it has written so much code to create their framework, but that framework is only about client-server communication and rendering of components which are basically Pojo, but the way you want to structure your code inside the Java side relies on you, if you don't create a framework of MVC/MVP/MVVM/ODUI, you will end maintaining a messy code, so Vaadin for large applications needs time.
--> State is preserved on the server which means a larger footprint on the memory.
--> IMO Vaadin didn't master the art of backward compatibility, v7 broke v6 apps, v8 did that to v7, and Flow (the newest and most modern one which doesn't relay on GWT) broke all the previous versions, so layers of abstractions is needed.
Written by Guest, 13th January, 2021
Written by Guest, 1st December, 2020
I recommend using Bootstrap 4 instead, much nicer components and easy to use.
Written by Guest, 25th November, 2020
Written by Guest, 7th September, 2020
The actual framework is rubbish. After Vaadin broke most of our apps we had invested months in we ditched the framework and haven't been more happy. Don't buy into their marketing jargon about simplicity, if you do anything larger than a simple "hello world" type app you do not want to use this framework.
Written by Guest, 31st May, 2020
Written by Guest, 19th April, 2020
Is it a silver bullet... I strongly disagree. However, if you are working on a project where your team mostly has Java developers (like ours), and prefer to run all the logic on the server (including the UI logic), it's a wonderful solution. We used one of the commercial licenses (I think the second highest tier), but most of the important functionality is available in the open source version. Our team wasn't overly familiar with Vaadin, so we needed the support, which is why we went for the commercial licenses.
Another thing it lacks, though, is excellent documentation. The current documentation is adequate, but far from exemplary. However, their support assures me that they are working to update their documentation in 2020.
Written by Guest, 8th April, 2020
Bad APIs, styling is way too difficult, and well, understanding how the whole application will be bundled takes a mad scientist.
There are a million better ways of doing webapps, stay away from this.
Written by Guest, 17th February, 2020
Written by Guest, 20th November, 2019
Vaadin 10 and forward (Vaadin Flow) is rubbish. It have been unstable and slow, and furthermore they have no backwards compatibility whatsoever, so if you write your application today you will have to fully refactor it when the next version comes out.
Written by Guest, 30th October, 2019
Written by Guest, 8th December, 2018
Written by Guest, 22nd August, 2018
Written by Guest, 20th July, 2018
Written by Guest, 2nd May, 2018
Written by Guest, 23rd August, 2017
Written by Guest, 17th November, 2016
Written by Guest, 29th July, 2016
Written by Guest, 27th July, 2016
Written by Guest, 14th July, 2016
Created my own generic form generator that sources off the bean - was so easy to create it since it is pure JAVA and all the tools like ease of factory creation, reflection are at your disposal. Now creating a form is matter of having right bean and derived form object for customisation if needed. Gave this framework to my PHP colleague, initially he was left footed on this and hated Vaadin, but slowly he realized that he has come out of dark ages.
We adopted Vaadin as we are moving towards liferay and Vaadin is well suited for Portlets.
I agree with others, documentation is excellent and any topic is well addressed on forums. You will never feel lost with Vaadin.
BTW companion library to use can be EventBus, gives more flexibilities in controlling hierarchical components.
Written by Guest, 7th September, 2015
You will hit the ground running, and for the most part you really can forget about being in a Web environment (you will be spending 99.9% of your time coding in pure Java).
It is a very mature and stable product. The functionality is great, the looks are great, the documentation is great & the online community is great.
For web applications (ie not web sites)), I cannot recommend Vaadin enough.
Written by Guest, 27th April, 2015
Written by Guest, 5th January, 2015
Written by Guest, 27th April, 2014
Written by Guest, 21st March, 2014
Written by Guest, 27th February, 2014
After working with JSP, Wicket, GWT & GXT, I realized that Vaadin is really the one framework that I always wanted.
Written by Guest, 29th November, 2013
Written by Guest, 14th November, 2013
Written by Guest, 6th May, 2013
Written by Guest, 15th November, 2012