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
2
votes
2 answers

Vaadin Valo Stylesheets

I'm having a problem using Vaadin (in Eclipse) and its associated styling engine Valo, and the TouchKit package. I mention all of these because I'm not sure which, if any, is causing the problem. The name of my custom theme (which imports Valo) is…
c.maclean
  • 401
  • 2
  • 9
2
votes
1 answer

BeanFieldGroup vs FieldGroup with BeanItem?

When binding fields to a bean there are two ways: Use a FieldGroup and wrap the bean in a BeanItem: final FieldGroup fieldGroup = new FieldGroup(new BeanItem(dataBean)); Use a BeanFieldGroup, in this case the bean will also be wrapped…
Roland
  • 7,525
  • 13
  • 61
  • 124
2
votes
0 answers

Vaadin JPAContainer max constraint

I am using Hibernate in my Vaadin application and which to retrieve a single Entity from my database. This entity is the one with the most recent datetime. I have been looking if I can use a filter on my JPAContainer which allows me to set a MAX…
RazorAlliance192
  • 722
  • 9
  • 23
2
votes
1 answer

Vaadin NPE in ServerRpcHandler

This week I started using Vaadin and has made a big impression on me ever since. However, I came accross a problem which I am not able to resolve. Basically I made a web application where I display Contacts (stored in my database) and display them…
RazorAlliance192
  • 722
  • 9
  • 23
2
votes
2 answers

Vaadin converter for java.sql.Timestamp

I am working with PostgreSQL database and timestamp columns have class java.sql.Timestamp. Even if this class extends java.util.Date, when I edit PopupDateFiels, I obtain error Unable to convert value of type java.util.Date to model type class…
Hink
  • 1,054
  • 1
  • 15
  • 31
2
votes
1 answer

Getting total amount in a column

I have the below method public void footerSet() { // Calculate total sum double totalSum = 0.0; // double totalMargin = 0.0; for (int i = 0; i < ic.size(); i++) { Item item = ic.getItem(ic.getIdByIndex(i)); try…
pmaingi
  • 111
  • 3
  • 14
2
votes
0 answers

Vaadin 7 - ExecutionException: Push

I want to append some textlines to a textarea in my program. Here's my method appendText: protected synchronized void appendText(final String i_text) { UI.access(new Runnable() { @Override public void run() { …
Sheldon
  • 276
  • 3
  • 17
2
votes
1 answer

Vaadin Drag Drop Component

We are creating a web application using Vaadin. Our application contains alot of drag and drop features. We have an object which is drag-able. We can click on it to open its menu as well. Sometimes that when we click that item it behaves as if it is…
SSH
  • 1,609
  • 2
  • 22
  • 42
2
votes
2 answers

How to use Vaadin SQLContainer when I already have a JDBC connection pool

Vaadin 7 offers the SQLContainer implementation. The Book of Vaadin says to use either of its implementations of a JDBC connection pool. But I already am using the Tomcat JDBC Connection Pool implementation. Having one pool that draws from another…
Basil Bourque
  • 303,325
  • 100
  • 852
  • 1,154
2
votes
1 answer

How to display images in a Vaadin 6 table?

I have a Vaadin 6 application, in which I want to display several images in a table. To do this, I define following data model. private BeanContainer productImageData; productImageData = new BeanContainer
Glory to Russia
  • 17,289
  • 56
  • 182
  • 325
2
votes
1 answer

Getting the String out of a Gatling expression

I want to write a function to format Vaadin messages. These messages have the format 108|0ff1255e-e2be-4e7b-ac5c-1ff2709ce886[["0_11_12_13_login_username","v","v",["text",["s","Agent00232"]]]] The first number is the length then there some kind of…
Jens Baitinger
  • 2,230
  • 14
  • 34
2
votes
1 answer

Session timeout does't work vaadin

I'm developing an vaadin web application and I added the following snippet of code in my web.xml. 30 Now i noted the also after 30 minutes my users are able to use the…
Skizzo
  • 2,883
  • 8
  • 52
  • 99
2
votes
1 answer

JPA Entity Manager Lifecycle pattern in Vaadin

I am implementing a Vaadin web application that connects with a database (using jpa hibernate). The aplication looks like a java-swing, but in the web. I would like to know the best practices on how to handle the JPA Entity Manager lifecycle. The…
guilhermecgs
  • 2,913
  • 11
  • 39
  • 69
2
votes
1 answer

java.io.NotSerializableException is thrown while restarting Vaadin application

When I restart my Tomcat, I get the following error: 2014;10;01; 15;49;47;055; WARN; com.vaadin.event.ListenerMethod;[localhost-startStop-2]; Error in serialization of the application: Class com.aaa.bbb.MyServlet$1 must implement…
Krayo
  • 2,492
  • 4
  • 27
  • 45
2
votes
2 answers

Why use CustomComponent for Layouts in Vaadin 7?

Both the Book of Vaadin and the Vaadin training course recommend using acom.vaadin.ui.CustomComponent to contain a Layout. I can understand this in pure theory, to encapsulate the contents without needlessly exposing a specific layout such as…
Basil Bourque
  • 303,325
  • 100
  • 852
  • 1,154