Simon Martinelli is a software developer with extensive experience in Java. With contributions to JSRs and talks in multiple international events, he is an established figure in the Java world! He is one of the winners of the Vaadin Community Award 2021.
How do you see the recent evolution of Java and its future?
It is great to see Java evolving again. After the move to Oracle, it was stuck.
The only problem I see is that a lot of people can't keep up with the fast pace of new releases. But people should try to get on the new versions as early as possible. Before, there was a lot of time between the releases, but there were also many more new features to learn. Now with the previews, it's easier to check out the new stuff.
My problem is more that I work for many customers and every customer is on a different Java version. And then I have to take care of checking which features are available in the version that the customer uses.
What kind of projects are you working on at the moment?
The main project is the migration of an Oracle Forms ERP product to a modern web stack with Vaadin. Besides that, I have a few Vaadin consulting projects and one project to evolve the XML standard for police and judicial data of the Swiss government.
How did you discover Vaadin?
My first contact with Vaadin was in a project for Swiss Railways a few years ago. But after that, I didn't use Vaadin anymore. Then, in 2019, I was asked to help with the migration of the ERP product I mentioned before. It was perfect timing, because Vaadin 10 had just been released!
What were the most important features introduced in Vaadin 10 back then?
First of all, the fact that it is based on web components and embraces HTTP through routing. The Vaadin components are superior, but there are also many great 3rd party components, plus you can integrate any web component by yourself. Routing is important if you want to bookmark a page or send a link to a specific page in an email, for example.
I also like Server Push, because there is always some kind of background processing that, once finished, must be announced to the user in the browser.
Are these features important when deciding to migrate applications from Oracle Forms to Vaadin?
Exactly. The most important features are the Grid component with lazy loading, and data binding helpers. Most of the functionality is CRUD operations (create, read, update, delete) of huge amounts of data. Vaadin's Grid component makes it very easy and performant to scroll through this data. The Binder class helps with the validation and conversion of the entered data. There is even a version that supports the Java Bean Validation API.
Simon, thank you very much for the work you have done in the Vaadin and Java communities. The Vaadin Community Award is more than deserved!
It is my pleasure and I feel honored. Thank you very much. I'm very happy to be part of this great community. I hope I can help many more Java developers to recognize that it's much simpler to write a web application in Java than to move to Angular or React, where you will have to learn a completely new ecosystem.