DEV Community

David Marko
David Marko

Posted on

5 areas where Vaadin shines as LiveView implementation for Java

LiveView is a programming approach that allows developers to build interactive, real-time user interfaces for web applications. It was introduced as a part of the Phoenix web development framework for the Elixir programming language. There are LiveView implementations available for many popular languages, Java included. And we are talking about Vaadin here which exists for much longer and is much more mature than Phoenix LiveView.

Vaadin

Where Vaadin shines in areas LiveView programming is very famous?

1.) Writing less code — and I really mean much less than you would expect. No zillions of endpoints, no DTOs, mappers, JavaScript code. Your feelings will be like that you are developing a desktop application, though UI for the browser will be there.

2.) Both ways communication — is it frontend triggering an action or is the backend receiving a message from pub/sub system? Vaadin will update the browser page to reflect the latest situation. You are not doing this — Vaadin does.

3.) Single language approach — Java for backend and frontend development. And it's a huge thing. This means you don't need angular/react/vue developers, you have a single repository for the entire application, that simplifies overall deployment and long time maintenance.

4.) Automatic UI updates managed by Vaadin — changes being done in backend code that relates to UI are automatically transformed into updated HTML and sent to frontend. Very efficient ‘diffed changes’ are communicated to frontend, push communication is also directly supported. And don't forget, it's Vaadin doing this for you as a silent servant.

5.) HTML transformed to Java objects — you can use HTML templates but Java objects are better. Using Vaadin you use HTML in form of Java objects. You have Div() object available, and you can insert TextField() into it. Want to hide TextField in the browser? Just call textField.setVisible(false) … and Vaadin will remove textField from the browser page. Just simple as that.

Example of Vaadin code: TextField and Button definitions

Are you still with me? Nice. If you are interested in details and can get a whole idea of how you can use Vaadin in your new or existing projects, you are welcome to take part in this Udemy Course: “FullStack Vaadin (14–23+) — Practical Solutions

Udemy course

Top comments (0)