Documentation versions (currently viewingVaadin 8)

Vaadin 8 reached End of Life on February 21, 2022. Discover how to make your Vaadin 8 app futureproof →

Creating a Server-Side Component

Typical server-side Vaadin applications use server-side components that are rendered on the client-side using their counterpart widgets. A server-side component must manage state synchronization between the widget on the client-side, in addition to any server-side logic.

Basic Server-Side Component

The component state is usually managed by a shared state, described later in "Shared State".

public class MyComponent extends AbstractComponent {
    public MyComponent() {
        getState().setText("This is MyComponent");

    protected MyComponentState getState() {
        return (MyComponentState) super.getState();