Prerequisites
Vaadin enables the creation of full-stack web applications in Java. The Vaadin Flow framework allows you to build even the user interface using Java only.
You can also build your user interface in React and TypeScript. In this case, Vaadin takes care of the integration to the Java backend through the Vaadin Hilla framework. This makes it easy to call Java services from the browser using a type safe API. You can even combine Flow and Hilla views in the same application.
To build full-stack Vaadin applications, you should be familiar with Java programming. If you want to use React for the user interface, you should be familiar with React and TypeScript as well. Basic knowledge of HTML and CSS is recommended.
On your development machine, you need to install a JDK and a Java IDE.
Install Java
Vaadin requires at least JDK 17, but you should use the latest Long Term Support (LTS) version whenever you can. In addition to picking a version, you also need to pick a distribution. You have multiple distributions to choose from, all based on OpenJDK. If you are unsure which one to pick, see the whichjdk.com website for independent, yet opinionated recommendations.
A good, default choice for Vaadin applications is Eclipse Temurin.
SDKMAN for macOS and Linux
If you use macOS or Linux, a more flexible way of installing a JDK is to use SDKMAN. SDKMAN is a tool that lets you install and switch between multiple JDK:s through a command line interface.
Install SDKMAN by following the SDKMAN installation instructions. After that, install the latest stable version of Java by running the following command:
sdk install java
You can also install a specific version of a specific JDK. See the SDKMAN usage instructions for more information.
Install an IDE
Different IDEs have different levels of support for Java and TypeScript. The following table gives a rough evaluation of language support in the most commonly used IDEs.
IDE | Java | TypeScript |
---|---|---|
☆☆☆ | ☆☆☆ | |
☆☆☆ | – | |
☆☆ | ☆☆☆ | |
☆☆☆ | ☆☆ | |
☆☆☆ | ☆ |
☆ – Supported with a commercial add-on or a very limited free add-on
☆☆ – Limited built-in support or a free add-on with some limitations
☆☆☆ – Good built-in support or a good free add-on easy to install
Each IDE has installation packages for Windows, macOS, and Linux.
Tip
| IntelliJ IDEA Ultimate gives the best developer experience. |
IDE Extensions & Plugins
If you are using IntelliJ IDEA, install the Vaadin plugin.
If you are using Visual Studio Code, install the Vaadin extension, the Extension Pack for Java, and the Spring Boot Extension Pack.
If you are using Eclipse IDE, you should use the Eclipse IDE for Enterprise Java and Web Developers.