Showing posts with label News. Show all posts
Showing posts with label News. Show all posts

Tuesday, July 3, 2018

Data-Centric Applications with Vaadin 10?

I recently got some hard copies of my last book about Vaadin. I love the matte colored look of the cover. Excellent job by Packt Publishing! Anyway, since the feeling of receiving a package with your own books is hard to describe with words, I decided to do it with code.

Although most of the concepts and design ideas that the book covers are valid for any version of Vaadin, I created a Git branch with all the examples migrated to Vaadin 10. At this time, there are certain features that Vaadin 10 doesn't include (yet?) such as Grid editors, Menus, and LAYOUT_COMPONENT_GROUP styles. But besides that, pretty much everything was easy to migrate.

There are some new features in Vaadin 10 that, obviously, I didn't cover in the book–things such as the new Router and the Element API. However, since the book is aimed at developers with basic Vaadin knowledge (i.e., they how to code UIs with the Vaadin Java API), the examples are useful and illustrate techniques you can use in your applications: modularization, authentication, authorization, database connectivity (with JDB, JPA, MyBatis, and jOOQ), CRUD user interfaces design, lazy loading, and reporting with JasperReports.

Keep in mind that this book is not for total beginners. If you don't know what kind of components are available in Vaadin and how to use the basic functionality they provide, you should start with the introduction to Vaadin Flow and the official Vaadin tutorial.

Monday, April 23, 2018

New book about Vaadin 8: Data-Centric Applications with Vaadin 8

I'm glad to announce that my second book about Vaadin has been published!

Due to Packt Publishing's guidelines, the space I had for acknowledgments was limited to 500 characters. However, I'd like to share the original draft I wrote for this section:

​I'd like to thank the entire team from Packt Publishing; thanks for your support and patience throughout the writing process. Thanks to all the technical reviewers and proofreaders for providing me with valuable feedback from which I have learned a lot. A special thanks to the Vaadin team and its community for producing a terrific open-source web framework and knowledge base with tons of articles and useful resources. I hope this book reciprocally contributes back to the community.

I'd like to single out Joonas Lehtinen, Sami Ekblad, Matti Tahvonen, Marcus Hellberg, and Fredrik Rönnlund, who in one way or another influenced or motivated this book. In addition, many others provided help and motivation throughout the writing process. Specifically, and in no particular order, I'd like to thank Nicole Mattsson, Jet Dario, Noomi Ylä-Lahti, Dora Quintero, Saara Nevala, Marcelo Duarte, Guillermo Alvarez, Goran Atanasovski, Johannes Häyry, Anna Emelyanova, Kari Söderholm, Paul Römer, Ville Ingman, Amahdy Abdelaziz, Sven Ruppert, Eero Mäkelä, Artem Godin, Jan Rucidlo, Julia Toivonen, Ömer Tümer, Binh Bui, Mikko Inkinen, Shridhar Deshmukh, Frederik Raulf, and all my colleagues at Vaadin Ltd.

Thanks to my parents and siblings for being supportive and helpful throughout my life; I genuinely enjoyed writing part of this book with your company. As Shakespeare wrote in King Lear, in this list you are "although the last, not least".

Tuesday, March 27, 2018

New book about Vaadin Framework 8 coming out

As some of you may already know, I started writing a book about Vaadin 8 for Packt Publishing almost a year ago. After inevitable hindrances and changes in the scope and schedule, the book is almost ready now!

The book is addressed to Java web developers with basic knowledge of the Vaadin Framework 8. If you have followed the tutorial at and have played around with the framework, this book is for you. Of course, more experienced developers can also find interesting ideas in this book.

The book covers topics related to software design such as code organization, modularization, and API design. It also serves as a practical guide to common features in business applications, ranging from authentication and authorization to reporting and CRUD user interfaces.

Here's the outline (chapters) of the book:

  1. Creating new Vaadin projects
  2. Modularization and main screens
  3. Implementing server-side components with internationalization
  4. Implementing authentication and authorization
  5. Connecting to SQL databases
  6. Implementing CRUD user interfaces
  7. Adding reporting capabilities
  8. Lazy loading

​I'll announce on Twitter and here once the book gets published. Stay tuned!

Friday, December 2, 2016

Enterprise-app for Vaadin

Some years ago I published the Enterprise-app add-on for Vaadin. The most awarded feature was the CrudComponent class that allowed you could add a CRUD-like interface to any Hibernate entity by writing one line of code. Enterprise-app was (and still is) available for Vaadin 6. I partially migrated it to Vaadin 7, but never really completed the task.

I'm not longer supporting the Enterprise-app add-on, but working in a set of new Vaadin add-ons to replace parts of its functionality. So far I have implemented the Crud UI add-on, with a less magical but much more flexible CrudComponent. A key difference with the old one is that it doesn't perform the actual CRUD operations, instead, it delegates the operations to a CrudListener with 4 methods that you have to implement (or alternatively, use 4 separte interfaces and lambda expressions or method references). This allows you to use any persistence technology you want.

Suppose you have a JavaBean like the following:

public class User {
    private Long id;
    private String name;
    private Date birthDate;
    private String email;
    private String password;
    ... getters & setters ...

And a "backend" service class like the following:

public class Backend {
    Collection<User> findAll() { ... }
    User add(User user) { ... }
    User update(User user) { ... }
    void delete(User user) { ... }

Then, with the Crud UI add-on, you can create a CRUD web interface with the following code:

GridBasedCrudComponent<User> crud = new GridBasedCrudComponent<>(User.class);
crud.setFindAllOperation(() -> backend.findAll());

There are several configuration options. See the examples on the add-on's page. The following is an example of a CrudComponent with modified configuration settings for Grid's columns, field captions, layout, and validations:

If you were a user of Enterprise-app, take a look at the new Crud UI add-on and let me know any issues you find or features you would like to have.

Happy coding!

Wednesday, June 8, 2016

Vaadin Video Tutorials

Finally! After endless hours of rehearsal, screen recording, audio recording, film recording, audio-image synchronisation, editing work, and do it all over again, we have published the first 6 videos of the Vaadin Tutorial series. But don't get me wrong, working on these videos was a lot of fun and I'm looking forward to publish more video content.


Thursday, September 19, 2013

Book Give-away: Hold a chance to win free copy of the book "Vaadin 7 UI Design By Example", just by commenting!

And the winners are:
  • Iskael Diaz Marquez
  • Camilo Gonzalez
Packt Publishing has two copies of Vaadin 7 UI Design By Example to be given away to two lucky winners.

How you can win:
To win your copy of this book, all you need to do is come up with a comment below highlighting the reason why you would like to win this book.

Please note: Winners residing only in the USA and Europe would get a chance to win print copies. Others would be provided with eBook copies only.

Duration of the contest & selection of winners:
The contest is valid up until October 5th 7th 12th, and is open to everyone. Winners will be selected on the basis of their comment posted. 
About the book:

This is what Packt Publishing says about the book:Vaadin 7 UI Design By Example written by Alejandro Duarte, is an engaging guide that teaches the user how to develop web applications in minutes. This book shows the user how to use Eclipse, Netbeans, and Maven to create Vaadin projects. It then demonstrates how to use labels, text fields, buttons, and other input components. The book also explains Vaadin theory to prepare the user for the rest of the trip that will enhance their knowledge of Vaadin UI components and customization techniques.

Join the contest! Leave your comment!
English, Spanish, Italian, Russian, any language accepted!
Please note that comments are moderated and your comment will not appear immediately.

Friday, February 22, 2013

Enterprise App now available with Maven

Finally! I've managed to write a Maven POM for Enterprise App. Just add this into your pom.xml file:


You might need to add the official Maven repository for Vaadin addons as well:


Better late than never ;)


Tuesday, January 15, 2013

Hello GitHub

I have been a ProjectLocker and Assembla user for years. They both offer excellent tools for software projects management. However, now I'm moving to GitHub, 'cause you know, I'm becoming kind of an open-source activist (don't take that too serious, it doesn't mean that I'm pretending to be the next Stallman or anything). GitHub seems to be better suited for social open source projects.

I have written my share of code, so it's time to give something back to the World (also, I'm publishing all that code to raise my developer career but it doesn't sound like the thoughts of an open-source activist). Check it out, tons of code for you: QBasic, C, C++, PHP, and Java (mostly Java), and some projects using well known Java technologies such as Spring Framework, Hibernate, JPA/TopLink, Struts 2, SiteMesh, DisplayTag, Vaadin, and Enterprise App).

Enterprise App users! now you can follow the add-on development here. I will migrate all issues and tasks to GitHub to handle everything from one place. You can fork and send patches (through pull requests) if you want to.

My brand new web site

As some of you already know, I will be making a big noise about Enterprise App and InfoDoc Pro next month. Big noise without a new website is not worthwhile. So I acquired a hosting service (no free advertising for them right now), a new domain (, and a bunch of new ideas to make Enterprise App and InfoDoc Pro shine like a golden Java coffee cup (or at least like the yellow one in the picture).

So far, Enterprise App has more than 600 downloads at Vaadin Directory and I'm aware of more than 15 projects using it worldwide. I would like to thank all license buyers for supporting this web site as well as the add-on itself.

InfoDoc Pro is currently near a stable release version. Thanks to Thota Software Solutions, Aio Technology S.A.S. and Colombitrade S.A.S. for all the feedback and financial support for the project.

Originally posted on January 15, 2013 at