Vaadin applications consist of one or more views and routing defines how URL addresses are mapped to those views.
Navigating around the application works together with routing.
In addition to imperative Java code, you can build views declaratively using templates.
The components in such a template can be bound directly to data items.
You can integrate Vaadin with many other Java application technologies, such as Spring, CDI, OSGi, and Karaf.
You can also embed Vaadin applications/components in other applications or web pages.