Hi,
We currently have released alpha1 and alpha2 of Vaadin Framework 8.0. They are still named “alpha” to indicate that the API will change based on feedback and because they are not feature complete. The versions work (all tests pass) but e.g. the new versions of many select components are still missing. Some features are also missing, mainly in Grid and the new data source implementation.
I would not start any real project with an
alpha
version unless you are ok with waiting for remaining components to be implemented, you are ok with fixing and tweaking your code when new alpha versions are released and API changes, and you are ok with some things breaking in some release.
You can see what we are actively working on at
https://waffle.io/vaadin/framework8-issues
–
Regarding upgrading, the initial step should be very easy: All Vaadin 7 components are included in the Vaadin 8 packages (see e.g.
https://github.com/vaadin/vaadin/releases/tag/8.0.0.alpha1
) so you more or less change dependencies and imports and it works.
For the real migration you would want to
- change forms from using FieldGroup to use what is currently called Binder
- change data sources from using a Container to a new data source
Form migration should be straight forward as the same concepts exist but much has been moved from component implementations (AbstractField) in Vaadin Framework 7 to Binder in Vaadin Framework 8.
Data source migration depends on what kind of data source you are using.
For in memory data, you have a BeanItemContainer in Vaadin 7 which you replace with a ListDataSource in Vaadin 8, or just use e.g.
ComboBox.setItems(List<MyBeans> items)
IndexedContainer can be replaced by e.g. ListDataSource<String>, ListDataSource or similar.
If you are using something like LazyQueryContainer and a separate service layer, migration should be straight forward by implementing the only needed “getItems” and “count” methods in a new DataSource.
If you are using SQLContainer or JPAContainer, there is currently no direct replacement. It should be simple though to do JPA or JDBC or JOOQ or any other type of queries in a custom DataSource implementation.
If you try out an alpha version, we are more than happy to hear about your experience and receive any feedback you might have!