Update: We are now in RC state, help us to iron out the last bugs before first stable release!
I’m happy to announce that the first beta version of the next major Vaadin Framework release is out. As discussed earlier, version 8 is a huge step forward taking advantage of the greatest and latest Java features. We have worked hard to make some of the core concepts in Vaadin Framework faster, simpler and safer to use, but now we need your help to make sure we haven’t broken essential features and to make the new features even better!
The most exciting new features are:
- Modern typesafe API optimized for Java 8. The most relevant changes in
- displaying data in select components and grid
- binding data to fields
- Faster (CPU) and more memory efficient data binding
- Easier to implement custom form fields
- Java 8 now supported for developing client side extensions as well
- Improved defaults - less boilerplate code
Refer to the release notes to see the full list of changes. You can also see some code examples from the previous alpha release post and from the preliminary data binding documentation. We are working on publishing a version 8 branch of the documentation side by side with the stable documentation.
Although some of the core concepts have been completely renewed, upgrading to Vaadin 8 is still pretty easy. All old field implementations and selects using Container-Item-Property style API are still there, but moved to a separate compatibility package. We also provide an easy to use script that will change your code to use components from the compatibility package. Then you can start migrating to new more efficient APIs view by view or just use in the new code you write.
To move faster with the development, we needed to drop support for some legacy technologies. From Vaadin version 8 forward, only Java 8 is supported. Also, your application server needs to support Servlet 3 specification. Vaadin 8 also drops support for some older browsers. If you are using Internet Explorer, it has to be version 11.
How to try it out?
The new project wizard in Eclipse plug-in dialog doesn't work yet with the beta release. The easiest way to try out Vaadin 8 with fresh projects is to create a project using Maven archetype:
mvn archetype:generate \ -DarchetypeGroupId=com.vaadin \ -DarchetypeArtifactId=vaadin-archetype-application \ -DarchetypeRepository=https://maven.vaadin.com/vaadin-prereleases \ -DarchetypeVersion=8.0.0.rc1
Once you have the project ready, just import the project to your favourite IDE. The pre-releases repository also contains compatible integration libraries for CDI and Spring, both with version 2.0.0.rc1.
Alternatively you can try out the upgrade script for existing applications:
- Download the jar file
- Execute the script from project root: java -jar path/to/your/framework8-migration-tool-8.0-SNAPSHOT.jar
- Add pre-releases repository to your project, see releases page
- Change project dependencies:
- vaadin-server to vaadin-compatibility-server
- vaadin-client-compiled to vaadin-compatibility-client-compiled if you are using DefaultWidgetSet
- If you are using CDI or Spring, update related Vaadin libraries to 2.0.0.beta1
- Recompile the widgetset if you are using add-ons
Let us know what you think
We have been working hard on the stuff and want to push it out as a stable release soon. Thus I encourage all Vaadin users to try out the new beta release and give us some feedback of every concern you have. There are probably still bugs and API decisions we haven’t thought well enough, so now is the time to get those fixed.
Let us know what you think and let’s make this the best Vaadin release so far. Report all findings through GitHub or forum. Big thanks in advance!