Questions tagged [vaadin]

Use the [vaadin] tag for all posts relating to any use of the Vaadin web application development platform. For posts related to a particular Vaadin or a specific component, additionally tag the post with the corresponding tag, for example: [vaadin8], and [vaadin-upload], respectively.

Overview

Vaadin is an open source platform for building web applications. The Vaadin platform consists of a set of web components, a Java web framework, a TypeScript web framework, a Collaboration Engine, and a set of tools.

Flow

The Java web framework, Flow, uses Java for both the frontend and backend code. UIs can be created either by constructing and laying out components with Java or by declaring them with a LitElement template. UI event handling code is implemented in Java and runs on the server. UI state is also maintained on the server.

Vaadin's legacy Java web application development offering, Vaadin Framework, preceded Vaadin 10, and was built on GWT (Google Web Toolkit).

Fusion

The TypeScript web framework, Fusion, uses TypeScript for the UI code and Java for the backend (endpoint) code. UIs are created by declaring them within a TypeScript/LitElement class. UI event handling code is implemented in TypeScript and runs in the browser. UI state is also maintained in the browser.

Components

Vaadin Components are standard WebComponents implemented in LitElement. In addition to being used by Flow and Fusion, Vaadin Components can be used by other web technologies, such as Angular, React, and Vue. Prior to Vaadin 15, Components were implemented in Polymer.

Marketing Blurb

  • Vaadin improves the client side presentation layer by introducing client-server web components for rapid application development.

  • For Flow-based applications, a few lines of Java code and Vaadin takes care of the rest. No complex configurations, no JavaScript. Code on the server side.

  • For Fusion-based applications, the UI gains a reactive TypeScript frontend with a Spring Boot integrated backend, so you can focus on building your app instead of configuring stuff.

  • Wide browser support - Built on Internet standards, Vaadin applications support all modern browsers.

  • Stunning Web Applications - The look and feel makes a difference. Vaadin comes with great-looking components and easy use of themes.

Versions & Roadmap

Summary

  • Vaadin 22, the latest major version, was released on 9 December 2021.

  • Vaadin 14 was released on 14 August 2019 and is the most recent LTS (Long Term Support) version.

  • Vaadin 10 was released on 25 June 2018 and is the previous LTS version.

  • Vaadin Framework 8 was released in Feb 2017.

  • Vaadin Framework 6 and 7 are still also in active use but are not officially maintained.

  • Vaadin 23, the next LTS version, is slated for release in March 2022.

For new projects, version 14 or 22 is recommended.

Details

For the most up-to-date version and roadmap details, see:

Question and Search Hints

For some questions and queries, the answer is same regardless of Vaadin version or framework. However, it is often relevant to include the major version in the question or query as well.

6816 questions
9
votes
6 answers

How to respond to click on a table row in vaadin

I've got the following code: public Button getBtnSubmit(com.vaadin.ui.Button.ClickListener l) { if (null != l) { btnSubmit.addListener(l); } return btnSubmit; } public Table getTableCompany(HeaderClickListener hl) { if (null…
Johan
  • 74,508
  • 24
  • 191
  • 319
9
votes
4 answers

Vaadin ComboBox with values and IDs

I have defined a ComboBox which allows the user to select a contact from his contact list. The ComboBox is showing the contact name, but that can not really be used to map to the real contact: the contact ID is needed. My problem is that I do not…
blueFast
  • 41,341
  • 63
  • 198
  • 344
8
votes
2 answers

Vaadin vs. Bootstrap

I am planning to make an application that has views with complex forms and logical validation on the client side. I plan to use AJAX for submits and have some visual appeal. I want a recommendation from those who have experience developing with…
Carlos Castellanos
  • 2,358
  • 4
  • 25
  • 43
8
votes
1 answer

Local htm file embedded in vaadin

I'm new to vaadin, and I managed somehow to get an app up and running. Now I have an help.htm html file containing tips about how to use the app. I've put the help.htm in my project WEB directory to be able to access it in vaadin context. I've tried…
logiframe
  • 83
  • 1
  • 4
8
votes
1 answer

set table row height

My lacking skills of CSS is giving me a headache. As presented in this picture below, captured from firebug: Using a GWT like framework called Vaadin I have given a Table component the class name m2m-modal-table and I want set a min-height to the…
AndroidHustle
  • 1,794
  • 5
  • 24
  • 47
8
votes
1 answer

Vaadin production mode builds broken in v20?

Recently our vaadin production build has started failing and I'm too much of a node noob to figure out if this is a local problem or if it is related to vaadin 20. When I switch back to vaadin 19 the problem goes away and I can reproduce the problem…
Jens Møller
  • 525
  • 5
  • 20
8
votes
1 answer

Vaadin Flow Grid with Row-Index

How do I add a row-index column to a grid, that will not be sorted along user-sorting of rows? The solution must not include changes to any polymer template, but should rather be done in java.
kscherrer
  • 5,486
  • 2
  • 19
  • 59
8
votes
3 answers

Error on start of Spring Boot Application (Vaadin)

I tried to change port of Spring Boot application, activated Vaadin PRO, run in Eclipse/PowerShell, run in debug and without debug... I have node.js 12.16.1 (includes npm 6.13.4) installed too. I always get an error: java.lang.RuntimeException:…
LuigiK
  • 81
  • 1
  • 3
8
votes
2 answers

Slow HTML generation with Vaadin

I'm a developer with a problem ;) Currently we're close to an end on our project (using Vaadin) however... we're getting some trouble with displaying simple data in one of our views. (over 500 KB of data to display, and over 15K DOM elements after…
tzim
  • 1,715
  • 15
  • 37
8
votes
1 answer

LoginView with PolymerTemplate not recognizing error parameter

I have a LoginView which I basically copied from the bakery starter project. When I run the bakery app and try to login with wrong credentials, there appears an additional div with an error message. However, this error message div does not appear in…
kscherrer
  • 5,486
  • 2
  • 19
  • 59
8
votes
2 answers

How to display a Grid cell tooltip in Vaadin Flow

With Vaadin 8 you could set a tooltip for a Grid cell. This feature is not available in Vaadin Flow (currently using v 11.0.0). Is there an alternative?
rmuller
  • 12,062
  • 4
  • 64
  • 92
8
votes
2 answers

Scoped Spring events possible?

The Spring event mechanism supports publishing application events and listening to these events within Spring components via the @EventListener annotation. However, I cannot find anything about sending events within a specific scope in the…
Steffen Harbich
  • 2,639
  • 2
  • 37
  • 71
8
votes
1 answer

vaadin-grid-filter for an Array of Strings not working

I am using the vaadin-grid-filter with Polymer 2.x and I am facing the following problem. I have a vaadin-grid-column as following,