When comparing Play 2 vs Vaadin, the Slant community recommends Play 2 for most people. In the question“What are the best Java web frameworks?” Play 2 is ranked 4th while Vaadin is ranked 7th.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very fast and easy to install, it is a revolutionary framework
Pro Great resources
With some basic starting tutorials and a fleshed out documentation, there will be no need to go asking others for help, there should be enough for a developer to find a solution.
Pro Asynchronous requests
Everything with Play has been built with asynchronous requests in mind. This will result in the application not blocking results while waiting on other operations. With this implemented your application can be developed with multiple threads in mind without worrying about hanging on one request before it completes another.
Pro Rapid application development
All error checking and testing done in the browser only needs a page refresh to show the latest updates. This is huge, allowing the ability to code in real-time and make quick edits. Without it the develop would need to reboot/recompile the entire application to test with new data.
Pro Supports Scala
Pro Compiles Java to JavaScript
Vaadin uses GWT to compile Java code into JavaScript. This means that developers using Vaadin can write both frontend and backend code in Java.
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.
Cons
Con Not backword-compatible
Applications that have been written in Play 1 will not be supported in Play 2 as the core of the framework was rewritten in Scala. This includes plugins that were working in Play 1 as well.
Con Becoming a Scala framework
As Play continues to develop and mature it seems as if it is becoming less of a Java framework as the core has been rebuilt in Scala. This may deter adopters.
Con Steep learning curve
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.