github vaadin/flow 1.1.0
1.1.0 - PWA support, Material theme, component theme variants and performance improvements

latest releases: 24.4.0.alpha32, 23.3.30, 24.4.0.alpha30...
5 years ago

Vaadin Flow 1.1.0

Flow is a new Java web framework for creating UIs using Java or HTML. Flow handles everything related to communication between client and server and makes it possible to create UIs using the desired abstraction level you choose. It has all the capabilities you need to build a modern web app: from high level APIs for structuring your applications and binding data to it, into taking full control over the DOM and communication with HTML templates.

Flow is a part of the Vaadin platform. For information and helpful resources like documentation and examples on Vaadin Flow, please visit the Flow page vaadin.com/flow.

The complete documentation can be found here

New Features in 1.1 (Since 1.0)

  • PWA support (see documentation) #4334
  • Material theme support #4238
  • Java API for theme variants in components (see documentation) #4318
  • Various performance improvements, which reduce the memory usage and loading time #4554 #4562 #4568 #4551 #4552 #4571 #4574 #4584
  • Helper methods for adding component at a specific position #4321
  • Annotation to add meta information to the page #3248
  • Component-level API for customizing DOM event listeners #4017
  • Flow-maven-plugin can be configured to use locally installed Node and Yarn #4543
  • Helper method for running JavaScript in the context of an Element #4539

Dependency updates since 1.0

  • Upgraded to new Atmosphere version #4545

Bug Fixes Since 1.0

  • Flow-maven-plugin does not work when there is a dependency of type POM #4297
  • Flow-maven-plugin doesn't handle context schema correctly #4279
  • Binder-bound checkboxes getting reset #4304
  • Refreshing data provider and setting grid visible throws client side exceptions #4444
  • Client side errors with component renderers on some browsers #274
  • setVisible() causes client-side exceptions #4448
  • Flow-maven-plugin: Problem when bundling a dependency with multiple bower.json #4415
  • Ensure listeners deploy a servlet before adding JSR-356 support to it #3923
  • Make it possible to use subtypes of JsonValue in ASPropertyField #4463
  • Fix init problem on Liberty 18 #4511
  • Use a component type in ClickNotifier generic for HTML components #4500
  • Use FaviconHandler only for servlets #4426
  • Update UnsupportedBrowserHandler with removing Chrome Frame #3803
  • Unify system error messages so that same styles are applied #4542
  • Don't throw exception when trying to remove a component with no parent #4537
  • Keep the UI functional after an exception #4529
  • Fix issues related to the logged warnings when using flow 1.1 #4569 #4570

See complete list of changes since 1.0.0

See complete list of changes since previous pre-release

Supported Technologies

See the Vaadin platform release notes for browser, server and Java support level.

Known Limitations

Work in progress

  • Portal/OSGi support #455

Flow 1.0 Feature Highlights

Using Components to build UIs with only Java

With Flow you to can compose UIs using only Java on the server side. You can use existing components or create your own by creating the DOM from the server side. See the relevant documentation:

Integrating Web Components

Flow allows you to integrate web components and consume them from server side Java. See the web components documentation for more information.

Router

Router is a core concept in Flow, enabling navigation for your website or web app. It is based on HTML5 History API, and makes it possible to for the user to navigate pages back and forward, and keep the page state intact. See the router documentation for more information.

Binding Data to Components

Flow allows you to easily bind your business data to the UI components. You can bind the forms to the business objects by using the Binder, see documentation for more information. For showing a list of data (eg. a database table) on the UI, you can use the DataProvider. See documentation for more information.

Creating UIs Declaratively with Polymer Templates

With Flow you can take full control of building the DOM and the communication by using HTML templates. We recommend using Polymer templates as they bring lots of helpful capabilities on top of the native HTML. See documentation for more information.

Theming Applications

Flow has support for customizing the look and feel of your applications with css, html custom styles or by customizing the ready made Themes provided for Vaadin Components. See the documentation for more information.

Spring Integration

Flow comes with a Spring integration, and you can use it with Spring 5 or Spring Boot 2. Please see the documentation for more information.

JavaEE / JakartaEE Integration (CDI)

Flow support Java Context and Dependency Injection (CDI) with an add-on. Please see the documentation for more information.

Getting Started

For getting started with Vaadin Flow, please see vaadin.com/start where there are three types of examples available:

  • Bakery App Starter for Flow and Spring - a full stack example application with Flow and Spring Boot with heavy focus on great UX
  • Beverage Buddy App Starter for Flow - a small example app that highlights the basic features of Flow
  • Project Base for Flow and Project Base for Flow and Spring
    • A base for your project with some placeholder files available and dependencies available
      All the starters bring the Flow dependency via the Vaadin platform, which is the recommended way for using Flow.

From Flow getting started documentation you can find a step-by-step tutorial.

Don't miss a new flow release

NewReleases is sending notifications on new releases.