When comparing Grails vs Vaadin, the Slant community recommends Grails for most people. In the question“What are the best JVM web frameworks?” Grails is ranked 4th while Vaadin is ranked 6th. The most important reason people chose Grails is:
Grails is an abstraction over Spring and Hibernate. This makes Grails applications fast and scalable. This is because both Spring and Hibernate are themselves scalable.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Grails is highly scalable
Grails is an abstraction over Spring and Hibernate. This makes Grails applications fast and scalable. This is because both Spring and Hibernate are themselves scalable.
Pro More than 900 plugins
Grails is a full-stack web framework, not just MVC. It contains a lot of stuff out of the box, but it doesn’t enforce it. It contains over 900 plugins which provide a Groovy API for a lot of useful and well-known Java libraries. And what is more important is that they are super easy to install!
Pro Very fast setup and scaffolding
Setting up a new project is quite fast and code generation (scaffolding) saves you a lot of time. It also uses a convention over configuration principle which helps you bypass all the configuration trouble.
Grails also comes with a reloading mechanism out of the box.
Pro Easy to use
Grails is designed to be a rapid development framework with a straight learning curve. It advocates convention over configuration. Extensibility is very simple when using plugins (there is a lot of them). One command in the console – and all the dependencies and configurations are managed for you.
Pro Great UI design alternatives
Do you need something advanced in the UI? You can either create it in GSP with an addon of CSS/JavaScript or you can find a plugin that will do the work for you. Plugins include integration with Bootstrap, jQuery, Yeoman and much more.
Pro Great documentation and community
The Documentation section is actually a wiki, which can be modified by any logged in user. It has an official manual, tutorials, screencasts, a sample app and much more. If that does not do it for you, then there are countless third-party tutorials, more than 12k questions on SO and much much more
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 Grails is a fairly complex framework
Grails is a pretty heavy piece of software. It's functionality is covered by GORM (Grails' Object Relational Mapping) which is a facade for hybernate and by Spring MVC.
Everything is glued by core Spring and furthermore, Grails adds another level of abstraction on top of all this. These things may create some trouble down the road when debugging.
Con Too obtuse and JVM centric
If you're a big fan of the JVM and have mastered all its goofy quirks, Grails might be a good choice, but there are other frameworks out there that are more straightforward and easier to use.
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.