The Vaadin community contains a lot of different kind of talent. Some are new to Java, looking for a more productive development platform, some have vast experience from Java and related technologies. Kimmel Tamás is a domain expert in CDI and there is a high chance his code is powering your Vaadin app running in a CDI container. The latest major enhancements in Vaadin CDI integration are mostly written by Kimmel and he is also the author of CDI integration library for Vaadin 10.
Where do you work and what is your company doing?
I'm working at Webstar Csoport Kft. It is a Hungarian company currently employing around 30 people. Most of our projects are business apps implemented as single page web applications. Business applications running in browser, you know? :)
The company is located in my hometown Pécs, where I also studied at the University of Pécs, Faculty of Engineering and Information Technology, from 1998 to 2002.
How long have you been working with Java and CDI projects?
My first encounter with Java EE was more than 12 years ago. It was J2EE 1.4 with JSP, and was a short period. I mostly worked on PHP webapp projects at that time. I got back into Java projects around 9 years ago and it was the era of Java EE 5. Since then I have worked in Java based technologies. Around 2010 I started the first project with CDI and EE6.
What is your experience with Vaadin and how did you find out about it?
After my first "big" project shipped with JSF, I had a feeling. For the end of the project I had to maintain a full patchset for Primefaces. I mean patchset with patch files on the official project and an own build. It was a young project at that time, but it was (seemed to be) the most AJAX friendly free JSF component set. I had some headaches with the JSF core too, for example constructing a component tree dynamically, or handling really large component trees.
So I searched for another UI framework for our main use case and found Vaadin 7.0, in beta phase at that point. I started to play with it a bit, and since then, we have developed single-page websites using Vaadin.
So what is my experience... Writing an addon is easy, and it is a big advantage of this framework. Moreover, most of the time we have to solve real problems, and don't care about the UI framework too much. This is a very good experience I think.
How do you see the future of Java and Java EE/Jakarta EE?
I am a believer :)
Any tips for those thinking about writing code patches for OS projects like Vaadin?
Do not start by writing code.
Search in the issue tracker, track down the problem, submit a bug report, search a workaround ( It can be more important than writing a patch) and study the code.
After you think you are ready to start contributing code, it is good to start with a test to reproduce the problem.
Then you can start to write the actual fix for it. When you have the fix, also test the change in production if possible.
Same for implementing features. First study and open an enhancement issue. Tests and docs are a must have.
This process is not fast and it should not be. Contributing to stable libraries like Vaadin is not something like, making it work within a deadline. Think of it as if you were on a trip: enjoy learning, thinking and creating. The rest will just happen.“
Thanks Kimmel for the interview! I’m eagerly awaiting for your next contributions and I hope your example also inspires new talent to participate in our Open Source projects.