When comparing Vaadin vs Udash, the Slant community recommends Vaadin for most people. In the question“What are the best JVM web frameworks?” Vaadin is ranked 1st while Udash is ranked 5th. The most important reason people chose Vaadin is:
Ranked in these QuestionsQuestion Ranking
Pro Easy to use
Vaadin has a 'design mode' which allows developers to drag and drop components into a canvas and then provide the logic for every component. There are also a lot of third party tutorials and guides which help with the initial learning curve.
Pro Top notch documentation
The book of Vaadin is a must have for every developer that uses Vaadin to make web apps. It is an excellent reference manual and all around a great tool for every Vaadin related need. You can find and download the pdf online or get it for free in almost any Vaadin sponsored conference.
The online documentation is also very good. It has some tutorials and video guides.
There is also a vibrant community which sorround Vaadin, for any problem you may have there is a big chance that someone has already asked and answered that question on StackOverflow or in the Vaadin forums. If not, it will probably be answered quickly if you ask it.
Pro Modern, configurable theming
Vaadin comes with the Valo Theme, a Sass-based theme and engine that calculates styles based on configurable variables and making it easy to define a completely new theme with a few lines of SCSS.
Pro Easy to develop prototypes quickly
Vaadin has what is called the Vaadin Directory which is a repository of downloadable Vaadin components which can be easily used for development. To use something from the repository, you need to download the JAR file and add it to the project.
Pro High level - focus on what you want to do rather than the plumbing
Similar to Vaadin & Meteor but in Scala.
Pro clean modern design
This framework is much more modern than a lot of its competition (e.g. Spring MVC).
Pro Components similar to desktop GUI framework for high level & fast construction of complex GUIs
Pro do it all in Scala in a type safe way
Con Weak scalability
Since Vaadin stores the UI state and logic in the server, this means that for every user interaction a request needs to be sent to the server and the client needs to wait so it can know how to react. This leads to higher traffic and load times.
Con Very new and hence doesn't have a big community yet
Con Limited documentation, no books or 3rd party tutorials/samples
You'll have to be willing to be a pioneer.