Simply put, Vaadin’s ambition is to be the best possible tool when it comes to creating web user interfaces for business applications. It is easy to adopt, as it is designed to support both entry-level and advanced programmers, as well as usability experts and graphic designers.
When designing Vaadin, we have followed the philosophy inscribed in the following rules.
Because our goals are high, the focus must be clear. Vaadin is designed for creating web applications. It is not designed for creating websites or advertisement demos. You may find, for example, JSP/JSF more suitable for such purposes.
We have chosen to emphasize robustness, simplicity, and maintainability. This involves following the well-established best practices in user interface frameworks and ensuring that our implementation represents an ideal solution for its purpose without clutter or bloat.
The Web is inherently document-centered and very much bound to the declarative presentation of user interfaces. Vaadin allows for declarative designs of views, layouts, and even entire UIs. Vaadin Designer enables creating such designs visually. Nevertheless, the programmatic approach by building the UIs from Java components frees the programmer from its limitations. To create highly dynamic views, it is more natural to create them by programming.
There should not be any limits on what you can do with the framework: if for some reason the user interface components do not support what you need to achieve, it must be easy to add new ones to your application. When you need to create new components, the role of the framework is critical: it makes it easy to create re-usable components that are easy to maintain.