Vaadin 10.0.0.beta1
The Vaadin platform consists of a set of web components, a Java web framework, configurable themes, tools and a set of app templates.
With this beta release, we will change and improve things based on your feedback. This may lead into breaking changes, which will be listed for each part of the platform in the breaking changes section.
For more information about the Vaadin platform and to find the latest release, please visit vaadin.com/platform.
Support
Vaadin 10 is an LTS (long time support) version, which will be supported at least for 5 years after the GA (general availability) release. Learn more about the support.
New and Noteworthy
Please see the release blog post in vaadin.com
Included Projects and Change Log
The Vaadin platform includes the following projects. Release notes with detailed change logs for each project are linked below.
Projects marked as (PRO) are available for users with Pro or Prime subscriptions. Everything else is free and open source.
Components
- Vaadin Board (PRO) (Flow integration 1.0.0.beta1, web component v2.0.0-beta1)
- Vaadin Button (Flow integration 1.0.0.beta1, web component v2.0.0-beta3)
- Vaadin Charts (PRO) (Flow integration 6.0.0.beta1, web component v6.0.0-beta2)
- Vaadin Checkbox, (Flow integration 1.0.0.beta1, web component v2.0.0-beta1)
- Vaadin ComboBox (Flow integration 1.0.0.beta1, web component v4.0.0-beta3)
- Vaadin Context Menu (Web component v4.0.0-beta1)
- Vaadin Date Picker (Flow integration 1.0.0.beta2, web component v3.0.0-beta3)
- Vaadin Dialog (Flow integration 1.0.0.beta1, web component v2.0.0-beta2)
- Vaadin Drop Down Menu (Web component v1.0.0-beta2)
- Vaadin Form Layout (Flow integration 1.0.0.beta1, web component v2.0.0-beta1)
- Vaadin Grid (Flow integration 1.0.0.beta2, web component v5.0.0-beta3)
- Vaadin Icons (Flow integration 1.0.0.beta1, web component v4.1.3)
- Vaadin Item (Web component v2.0.0-beta2)
- Vaadin List Box (Flow integration 1.0.0.beta1, web component 1.0.0-beta2)
- Vaadin Notification (Flow integration 1.0.0.beta1, web component v1.0.0-beta2)
- Vaadin Ordered Layout (Flow integration 1.0.0.beta1, web component v1.0.0-beta1)
- Vaadin Progress Bar (Flow integration 1.0.0.beta1, web component v1.0.0-beta1)
- Vaadin Radio Button (Flow integration 1.0.0.beta1, web component v1.0.0-beta1)
- Vaadin Split Layout (Flow integration 1.0.0.beta1, web component v4.0.0-beta2)
- Vaadin Tabs (Flow integration 1.0.0.beta1, web component v2.0.0-beta2)
- Vaadin Text Field (Flow integration 1.0.0.beta1, web component v2.0.0-beta2)
- Vaadin Upload (Flow integration 1.0.0.beta3, web component v4.0.0-beta1)
Themes
The Vaadin Lumo theme (Flow integration 1.0.0.beta2, web component v1.0.0-beta2) is available as part of vaadin
and vaadin-core
dependencies.
Java Web Framework
- Vaadin Flow (1.0.0.beta2)
- Maven Plugin for Flow (1.0.0.beta2)
Tools
- Vaadin Designer (PRO) (3.0.0.beta1)
- Vaadin TestBench (PRO) (6.0.0.beta1)
App Starters
- Bakery App Starter for Flow and Spring (PRO) (sources available via vaadin.com/start)
- Beverage Buddy App Starter for Flow (1.0.0.beta1)
- Project Base for Flow (1.0.0.beta1)
- Project Base for Flow and Spring (1.0.0.beta1)
- Project Base for Polymer with Vaadin Components (github repository)
- Project Base for Angular with Vaadin Components (github repository)
- Project Base for React with Vaadin Components (github repository)
- Project Base for Vue with Vaadin Components (github repository)
- Starter project for creating Vaadin 10 Java add-ons (sources available via vaadin.com/start)
Getting Started with Vaadin 10
The best way to get started with Vaadin 10 is to go to https://vaadin.com/start and pick an app template for the technology stack you’re interested in. There are two types of app templates available.
The Project Bases are for starting your project from scratch with only the necessary dependencies and a couple of placeholder files available.
There are also full application examples available like Bakery (Pro) and Beverage Buddy. Those show you some opinionated examples on how to build different types of applications, with optionally integrating to a backend.
Getting Started Manually
For frontend projects you can get the dependencies with Bower by running bower install vaadin
or bower install vaadin-core
.
For Java projects, an example of the necessary setup can be found from the Project Base.
Supported Technologies
Operating Systems
Development is supported with the following operating systems, for any OS version that supports either frontend development (Bower as package manager) or Java 8
- Windows
- Linux
- macOS
Desktop Browsers
- Evergreen versions of the following browsers on :
- Chrome on these operating systems:
- Windows 7, Windows 8.1, Windows 10 or later
- macOS 10.9 (OS X Mavericks) or later
- 64-bit Ubuntu 14.04+, Debian 8+, openSUSE 13.3+, or Fedora Linux 24+
- Firefox on these operating systems
- Windows 7, Windows 8.1, Windows 10 or later
- macOS 10.9 (OS X Mavericks) or later
- Any Linux with the following packages:
- GTK+ 3.4 or higher
- GLib 2.22 or higher
- Pango 1.14 or higher
- X.Org 1.0 or higher (1.7 or higher is recommended)
- libstdc++ 4.6.1 or higher
- Safari on macOS 10.9 (OS X Mavericks) or later
- Edge on Windows 10 or later
- Chrome on these operating systems:
- Internet Explorer 11 on Windows 7, Windows 8 and Windows 10
- (preliminary support, see Known Issues and Limitations below)
- supported only in production mode. See documentation for more information.
Mobile Browsers
The following built-in browsers in the following mobile operating systems:
- Safari starting from iOS 9
- Google Chrome evergreen on Android (requiring Android 4.4 or newer)
Development environments
Any IDE or editor that works with the language of your choice should work well. Our teams often use Eclipse, IntelliJ, Atom, VS.code among others (including Emacs and Vim).
Vaadin Designer supports the following IDEs:
- Eclipse Java EE versions: Mars, Neon and Oxygen
- JetBrains IntelliJ IDEA 15, 2016 and 2017. Community or Ultimate edition.
Java Related Technologies and Tooling Support
The included Java parts are compatible with Java 8 and newer.
Application Servers
Vaadin Flow requires Java Servlet API 3.1 (JSR-340) or newer. It is tested on:
- Apache Tomcat 8.0.x, 8.5, 9
- Oracle WebLogic Server 12.2.1
- IBM WebSphere Application Server 8.5 Liberty and 9
- RedHat JBoss EAP 7
- WildFly 8, 9, 10, 11, 12
- Jetty 9
- Apache Karaf 4
- Payara Server
- Payara Micro
Known Issues and Limitations
IE11 is supported but the performance is not on the expected level. Work is ongoing to improve this before GA.
Polyfilled browsers (Edge, Firefox) are sometimes slow. Work is ongoing to improve this.
Flow
- There are known performance issues for rendering on Internet Explorer 11 when using the
Grid
component with multiple columns. This is due to be fixed in a later beta. - Websockets as the push channel is not working for Spring Boot vaadin/flow#3251
- The Template-in-Template feature has some limitations
- There is no CDI support
- There is no Portal/OSGi support
Designer
- Focusing Palette search field or elements in Preview mode on macOS Eclipse doesn’t work vaadin/designer#1596
- DnD on the lower part of the editor on macOS Eclipse doesn’t work vaadin/designer#1597
Charts
- Most of the styling related Java API is removed and replaced with CSS styling
- See a more detailed list of breaking changes https://vaadin.com/docs/v10/charts/java-api/charts-breaking-changes-in-version-6.html
- Support for Vaadin 8 is removed. Use Charts 4 with Vaadin 8.
TestBench
- Support for IE8, IE9, IE10 and PhantomJS was removed. These browsers are not supported by Vaadin 10.
- Support for Vaadin 8 has been removed. Use TestBench 5 for testing Vaadin 8 applications.
Migrating from Vaadin 8
Reporting Issues
This is the first beta version of Vaadin 10, and we expect there to be bugs. As the Vaadin platform consists of many projects, we realize that you cannot always know in which project the problem actually is.
A few rules of thumb will help you and us in finding the correct repository for the issue:
- If you encounter an issue when using the HTML/JS API of a component or the component renders incorrectly, the problem is likely in the web component. The web component repositories are named like https://github.com/vaadin/vaadin-button
- If you encounter an issue when using the Java API of a component, the problem is likely in the Flow integration of the web component. The Flow component integration repositories are named like https://github.com/vaadin/vaadin-button-flow
- If you encounter an issue with Flow which does not seem to be related to a specific component, the problem is likely in Flow itself. The Flow repository is https://github.com/vaadin/flow
- If you encounter an issue with Designer, the repository is https://github.com/vaadin/designer-issues
- If you encounter an issue with TestBench, the repository is https://github.com/vaadin/testbench
- If you encounter issues with code or the UI in any of the app starters, the corresponding repositories are:
a) https://github.com/vaadin/bakery-app-starter-issues for Bakery
b) https://github.com/vaadin/beverage-starter-flow for Beverage Buddy
c) https://github.com/vaadin/skeleton-starter-flow for Flow project base
d) https://github.com/vaadin/skeleton-starter-flow for Flow and Spring Boot project base
e) https://github.com/vaadin/generator-polymer-init-vaadin-elements-app for Polymer project base
f) https://github.com/vaadin/base-starter-angular for Angular project base
g) https://github.com/vaadin/base-starter-react for React project base
h) https://github.com/vaadin/base-starter-vue for Vue project base
If it is not obvious which project to add issues to, you are always welcome to report any issue at https://github.com/vaadin/platform/issues.