> Markdown version of [Creating a Server-Side Component](https://vaadin.com/docs/v7/framework/gwt/gwt-server-side). Section index: [llms.txt](https://vaadin.com/docs/v7/framework/llms.txt)

# <a id="gwt.server-side"></a>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.

## <a id="gwt.server-side.basic"></a>Basic Server-Side Component

The component state is usually managed by a *shared state*, described later in ["Shared State"](https://vaadin.com/docs/v7/framework/gwt/gwt-shared-state.md#gwt.shared-state).

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

    @Override
    protected MyComponentState getState() {
        return (MyComponentState) super.getState();
    }
}
```
