Blog

Advantages of using Java for the front end with Ricardo Cantillo

By  
Alejandro Duarte
Alejandro Duarte
·
On Dec 16, 2021 10:44:38 AM
·

Ricardo Cantillo is a software engineer from Colombia. He has over 15 years of experience in Java application development and has presented in multiple Spanish-speaking Java User Group events and conferences in Latin America. He is one of the winners of the Vaadin Community Award 2021.

ricardo-cantilloWhat Java frameworks and libraries do you use in your projects?

In the type of applications that we have developed, JPA/Hibernate, Java Bean Validation, Apache POI, Project Lombok, JavaMail API, CDI, and many others really. We have also used Web3j to implement features with Blockchain.

Do these libraries and frameworks fit Vaadin well?

For more than five years now, we have worked with Vaadin in the front end in most of our projects. I have been using the framework since version 8 and it has been very useful, due to its flexibility to work with various libraries, frameworks, and also platforms. We have deployed Vaadin-based applications to Apache Tomcat, Apache TomEE, Payara, Payara Micro, and WildFly. We have used different architectural styles, and the apps have always worked perfectly well for us—especially since version 14, which seems faster to me! Also, the Lumo theme is very easy to customize.

What are some advantages of Vaadin over JavaScript web frameworks?

From my point of view, there are several key aspects: 

  1. being able to have a data model in the views without having to create models in JavaScript.
  2. you can use the same testing tools in the back end and the front end. 
  3. it's a big advantage to maintain one project in one programming language, instead of separate ones. 
  4. you can easily take all the experience you have in implementing back ends to the front end.

web-gui-in-javaSome say that Vaadin is not as popular as other frameworks. Has that been a problem in your projects?

Well, it is a drawback not to be able to have a massive supply of developers who master the framework. But we have had good experiences with programmers who know Java and start working with Vaadin right away. The learning curve is very flat compared to other frameworks.

So, in the end, it has not been a problem at all. Let's say a new developer in the team has some experience in desktop applications development with Java. In the time this developer would need in order to learn how to create REST APIs, secure them, and connect them with Java using a JavaScript framework, they can much more quickly complete a lot of work with Vaadin, even if they didn't have previous experience with it.

What's your opinion of the Vaadin community and available online content?

The community components are great. The documentation and details of the framework are very centralized on the Vaadin website. There are a few courses that can be found on Udemy and similar platforms. On YouTube, the best material is on the Vaadin channel. I think that DZone articles are not very Vaadin-specific sometimes. And there's not much in Spanish, unfortunately.

vaadin-youtube-channelWhat Vaadin Directory components do you use in your projects?

When using Vaadin Flow, the Virtin add-on. It helps me a lot with the creation of events for communication between components. I also use some of the components by Johannes Goebel. They help in responsive design, especially with Vaadin 8.

vaadin-directory-1Ricardo, thank you for the work you do for the Vaadin and Java communities, and congratulations on winning the Vaadin Community Award!

Thanks to you, too. Vaadin has helped me a lot on a professional and personal level!

Learn more about the Vaadin Community Award

Alejandro Duarte
Alejandro Duarte
Software Engineer and Developer Advocate at MariaDB Corporation. Author of Practical Vaadin (Apress), Data-Centric Applications with Vaadin 8 (Packt), and Vaadin 7 UI Design by Example (Packt). Passionate about software development with Java and open-source technologies. Contact him on Twitter @alejandro_du or through his personal blog at www.programmingbrain.com.
Other posts by Alejandro Duarte