The vaadin framework
At first glance this looks a little bit strange. Most of you will be familiar with HTML and we are used to create HTML code, directly or by manipulating the dom tree. But there are great benefits for a java developer.
You don't have to learn a new language and you can use all the benefits of your favorite IDE. You can also use the build tool of your choice and use the standard build process. So every code is running through the same stages and the same code analysis tools.
Vaading comes with a customizable theme which works well for most enterprise application. You can change it using CSS (or even SASS) but you cannot change the structure of the HTML source. If you get HTML code and CSS stuff from your UI agency, Vaadin is the wrong tool.
Vaadin is a tool for web application, not for websites. You'll run into major problems if you want to create a website based on Vaadin.
Cause data transfer from client to server is not in your hand you might need more bandwith and get more traffic than technical necessary.
Vaadin is a great framework if you want to develop ground solid business applications. It comes with a modern theme and components for most business use cases (i.e. a really greate table component). If you want to create a web based business application or you want to transform a rich client application into a web based application consider using Vaadin as your framework.