The Vaadin client-side API is based on the Google Web Toolkit. It involves widgets for representing the user interface as Java objects, which are rendered as a HTML DOM in the browser. Events caused by user interaction with the page are delegated to event handlers, where you can implement your UI logic.
In general, the client-side widgets come in two categories - basic GWT widgets and Vaadin-specific widgets. The library includes connectors for integrating the Vaadin-specific widgets with the server-side components, thereby enabling the server-side development model of Vaadin. The integration is described in Integrating with the Server-Side.
The layout of the client-side UI is managed with panel widgets, which correspond in their function with layout components in the Vaadin server-side API.
In addition to the rendering API, the client-side API includes facilities for making HTTP requests, logging, accessibility, internationalization, and testing.
For information about the basic GWT framework, please refer to https://developers.google.com/web-toolkit/overview.