Vaadin 12 adds a bunch of new components, a couple of significant performance improvements, a Material Design theme option and many other small improvements and bug fixes. Vaadin 12 is an incremental release and a recommended update as we are making progress towards the next LTS version, to be released in June 2019. Moving from Vaadin 10+ to the latest release is straightforward by just updating the platform dependency in your project build file.
There are a few nice additions to the Vaadin core component set: App Layout, Checkbox Group, Context Menu, Time Picker (web component only), and Tree Grid. App Layout implements a proven pattern to have a navigation bar at the top and a content area. The other new components are bringing features we had in Vaadin 8 to the new Web Components-based Vaadin platform.
Pro and Prime subscribers get a new data entry component called Vaadin CRUD. It gives a consistent user experience for CRUD operations with less code to maintain yourself. See it in action in the Bakery App demo or check the separate component demos.
Smaller Memory Footprint and Faster Initial Loading
We did a few optimizations in Vaadin Flow, and now applications developed with Vaadin 12 use significantly less memory per session. In our measurements, a 48% decrease in heap size. Loading the application in development time is now faster as the initial application load after a server restart got over 50% faster.
Other Notable Features
You have an option to use a new theme called Vaadin Material, which implements Google’s Material Design specs. Lumo theme is still available and fully supported, and all future components will support both themes.
Vaadin Designer got a redesigned and refreshed look-and-feel for the palette, outline and property editor. Users will find the new UI more intuitive, and the components and project designs are now easier to find in the palette. Preconfigured component snippets and theme variants improve the experience of creating designs. For example, previously adding an icon to a button required you to drag-and-drop first the button to the view and then an icon to the button. Now you have an icon button available in a palette.
Updating from an Earlier Version
If you are coming from Vaadin 10 or 11, you should update the platform dependency in your project build file. The only breaking change we introduced was because ComboBox now supports server-side lazy-loading. If you are using filtering with a ComboBox see instructions on fixing the possible compilation issue.
For users of Vaadin Framework 7 or 8, we recommend reading our migration guide. If you are not willing to migrate in one go, use Vaadin Multiplatform Runtime to allow flexible migration at your own pace.
Start Using It Today
Head to vaadin.com/start and set up a Vaadin 12 project with just a few simple steps.