With the Kotlin DSL for Vaadin, you can start adding your content to the UI class straight away. With less boilerplate, you can focus only on building your app.

Start using Vaadin with Kotlin
verticalLayout {
   val nameField = textField("Your name")
   button("Say hello") {
       onLeftClick { Notification.show("Hello, ${nameField.value}") }
   }
}

Empty Example Project (Gradle, Maven)

It’s all about components

Adding a component is as simple as <componentName>{}: For a button, use button{}, for a text field, use textField{}...  You can combine existing components and layouts to create more complex custom components and views. Navigation is as simple as marking components with @Route("path").

Productivity for server-side developers

Vaadin lets you forget about the web and develop user interfaces in much the same way as you would a desktop application with conventional Java toolkits like Swing. Kotlin is a great fit for developing web applications, because it allows you to write concise and expressive code. 

You are in charge

You have complete control over how you access your data. We’ve got your back, regardless of  whether you decide to use Spring Data, JPA or JDBC directly, or try out the innovative Vaadin-on-Kotlin framework.