Over a million developers have joined DZone.
Platinum Partner

Meet The Author: Learning Vaadin

· Java Zone

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.

Vaadin is one of the most popular Java web frameworks around these days, so a book aimed at beginners is bound to be welcomed. DZone MVB, Nicolas Frankel, has just written  Learning Vaadin aimed at this audience. I spoke with Nicolas to find out more about the book and Vaadin in general.

DZone: Could you introduce yourself please?

Nicolas Frankel: I'm an IT consultant with more than 10 years experience, meaning I've seen a wide range of customers and contexts. I'm mainly focused on Java and JavaEE technologies, but I've narrowed interests like Software Quality, Build Processes and of course Graphical User Interfaces. I'm currently working for a public administration as a Solution Architect on eAdministration projects.

DZone: What is the main aim of this book?

Nicolas Frankel: Before 'Learning Vaadin', available documentation for Vaadin was a tutorial, the 'Book of Vaadin' and the JavaDocs. I felt that some things were missing, like some details on the inner workings of Vaadin, a step-by-step approach and an overall view of a practical example. The book aims to fill that gap... and I like to think that it's the case!

DZone: Why is Vaadin so popular?

Nicolas Frankel: There are many presentation frameworks in the field today but IMHO, Vaadin is the sole that combines a pragmatic approach to development, a real field experience (Vaadin is 10 years old!), plenty of documentation, a strong and growing community, a friendly OpenSource license and a plugins directory.
DZone: What are the best features of Vaadin?

Nicolas Frankel: There are so many! But if there's one to cite, it's component-based (as opposed to page-based). Vaadin enables web applications to be like desktop applications, meaning you develop using components that are wired together through events. Forget about web specific things like request/response (although there are interceptors if you need to interact with them) and focus on your UI!
DZone: Do you have any tricks or tips about using Vaadin, to help get around any problems a novice might have?

Nicolas Frankel: To be frank, Vaadin is really easy to use... If you use Eclipse, a Vaadin plugin even kickstarts the project for you. But if you should encounter any problems or questions, ask it on the Vaadin forum: people are really helpful here and you'll probably get an answer quickly.
DZone: What is your approach for this book? Is the reader brought through an example from start to finish?

Nicolas Frankel: The book uses the development of a Twitter-like web client as the main guide throughout Vaadin features, in a step-by-step approach. I tried to distill real-world experience and go beyond theory to tackle possible problems encountered by developers in real life.
DZone: What made you write a book about Vaadin? Is this your first technical book? Have you any other books planned?

Nicolas Frankel: I have always taken pride in making developers better at their craft, be it in universities as a teacher or in projects as tech lead so writing a book was the next logical step. When I discovered Vaadin, I knew it was the subject I had to write on since I'm convinced it is the right solution in many contexts (though not in all). As for the future, I've no plan yet save take some deserved pause at the moment.
DZone: Have you any advice for programmers who would like to write a book on a technology?

Nicolas Frankel: Good question... but I'm only a newbie on the subject! What this experience taught me however is that you should be prepared to re-order your priorities in your daily life: that means a supportive family is a prerequisite.

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}