Vaadin is a web application framework for Rich Internet Applications (RIA). In contrast to Javascript libraries and browser-plugin based solutions it features a server-side architecture, which means that the majority of the logic runs on the servers. Ajax technology is used at the browser-side to ensure a rich and interactive user experience.
Vaadin is a big collection of UI components. There are server-side components like Button, Table, Tree that you use to compose the application user interface. The components use events, listeners and data binding to communicate with each other and the business logic.
The component based architecture together with the data binding features help you to build applications that are easily modularized and refactored as needed.