Enable Users to Upload & Download Files

This guide demonstrates how to create a web app that enables users to upload and download files to and from the server in Java. In this guide, we create a web app that enables users to upload and download files to and from the server. The UI allows users to select local files to be uploaded to the ...
securing apps with spring boot and vaadin

Securing Vaadin apps with Spring Security

Getting security right is critical when building web apps. The upside of building a web app is that people can use it wherever they are, on any device. But you need to ensure that only the right people are able to access it, and that they have access to only the features you intended. In this ...

Dynamic Theming in Vaadin Flow

The application with different theme variants Whether for multi-tenancy or user preference, the need to dynamically change the theming of an application is a common business application need. In this post, we show how it’s done using CSS custom properties and HTML attributes. Vaadin 14.6 brought an ...
Java for frontend. Discover Vaadin!

Java for Frontend Web App Development in 2024: Benefits, Examples & Tools

Vaadin has enabled Java development teams to build full-stack applications, 100% in Java, for over 20 years. With an extensive web component library, powerful abstraction capabilities, the Collaboration Kit (for real-time collaboration), and Hilla (for React and TypeScript support), Vaadin is more ...

Top 5 most common Vaadin performance pitfalls and how to avoid them

A couple of weeks ago I was coding a demo app when it dawned on me that if I was to use my code in a real-world application, it would consume unacceptable amounts of memory once it reached 100 or more concurrent users. Vaadin Flow makes it easy to start coding web applications, even if you have no ...

Vaadin meets Vert.x

Vaadin server-side applications usually run in a servlet container, such as Jetty, Tomcat, or Undertow. However, Vaadin is not limited to these environments. The Vaadin building blocks are wisely designed on top of abstractions—VaadinRequest, VaadinResponse, VaadinService, VaadinSession, and ...

Future of HTML templates in Vaadin

Late last year, we announced that we are gradually moving away from Google's Polymer JavaScript library in favor of the far more lightweight and performant LitElement library. The next LTS, which is currently targeted for the latter half of 2021, will make Polymer optional for HTML templates. Using ...

Deploying a Vaadin app to Kubernetes

Because there are few things more exciting than deploying an AI app to your own cloud, today we'll be deploying Alejandre Duarte's Vaadin Chatbot demo app to a local Kubernetes cluster. It is fairly straightforward. If you haven’t already done so, read the blog on how to build the Chatbot app here. ...
Vaadin now supports localizing Java web applications into RTL languages

Localization gets an update with right-to-left (RTL) support

We’re excited to announce that Vaadin’s localization capabilities just got a major upgrade with the implementation of right-to-left (RTL) script support-- one of the Vaadin community’s most-requested and long-awaited features. What is RTL support? A number of the world’s major languages rely on ...