Events News

Webinar: Productive Web Development in Java with IntelliJ IDEA, Spring Boot, and Vaadin

At the end of June, we had a live coding webinar hosted by our developer advocate Trisha Gee and presented by Marcus Hellberg, who leads the developer community team at Vaadin. During his screen-cast, he created a full-stack Java app using a combination of Spring Boot and Vaadin’s Java API.

We recorded it for you, so if you missed it, now you can watch it and learn how to boost your productivity with the useful shortcuts and fun tricks Marcus shares.

Watch the recording below to see the whole workflow of app development with Vaadin and IntelliJ IDEA.

Here’s the Q&A follow-up. It’s also packed with useful information:

Is there any interaction with the JDBC database?

Vaadin is not bound to any specific database or backend. Vaadin’s data-binding API works with Java objects and collections, so you can use JPA or plain JDBC calls to populate Java objects and then pass them to Vaadin components.

Is Vaadin SPA ready? Does it generate pages on the server or on the client side?

All Vaadin apps are SPA. Pages are generated on the client side based on the state on the server. Only changed parts of the UI are re-rendered.

Can I use Vaadin in Kotlin?

Yes, you can.

What Spring Boot topics should I study to create web applications with Vaadin?

You can get by with the basics of Spring Boot and learn as needed. We have an in-depth tutorial series that covers Vaadin and Spring Boot.

Does Vaadin generate secure REST APIs?

Vaadin does not generate a REST API when you use the Java component API. Instead, it communicates through a custom JSON-based protocol that defaults to XHR requests, but can also be sent over WebSockets. The communication is very secure by design, as the server keeps track of the UI state and prevents any illegal actions, such as trying to trigger clicks on buttons that are disabled.

What is better for building a web application – Vaadin or Kotlin/JS?

It depends on your application. Vaadin is a simpler approach, as you don’t have a separate backend and frontend codebase and you have the same type of info from the database to the UI layer.

Can there be performance issues while converting Java code to HTML/JS?

HTML creation happens in the browser and only for the parts of the UI that need to be updated. There isn’t much overhead.

Can Vaadin handle the responsiveness of all components, including Grid?

Vaadin components are responsive by design. For the Grid, though, you would need to listen for resizes and determine how you want to respond to those, as there is no universal way of determining which columns to hide. By default, the Grid makes the content scrollable sideways, if needed.

What would be the best strategy for exception handling in a web application? When should I propagate or recover the exception?

It depends. You need to evaluate case by case. In some cases, you may be able to recover, and in others, it’s better to show an error and let the user decide how to proceed.

What’s the default embedded server?

Tomcat. Vaadin will work on any servlet container.

Is there hot reload support?

Vaadin 14.3, which is due out this week, will have improved hot reload support without any browser plugins.

Is Vaadin free to use for a personal project?

Yes. It is Apache 2 licensed. There are some added-value components, tools, and learning materials that are commercial.

Will the example code be available somewhere?

Yes, feel free to check out our tips and tricks.

Stay tuned for more webinars and useful advice for productive development. Right now there’s still time to join our JetBrains Technology Day for Java.

image description