From the author of one of the first Vaadin-related reference books Learning Vaadin, Nicolas Fränkel, comes the second edition Learning Vaadin 7 published by Packt Publishing in September 2013. I was kindly provided with a copy of this book by Packt Publishing for writing a review which you’ll find in this blog post.
As the book title suggests, the second edition of Learning Vaadin puts its focus on the new version 7 of the Vaadin framework. Since the framework itself has undergone significant changes in its API, this reference book had to be reworked as a whole as well. Therefore, only readers who want to adopt the current version 7 of the framework will profit from this book. Users of Vaadin 6.x should stick with the first edition Learning Vaadin or with an older version of the Book of Vaadin.
Learning Vaadin 7 aims to give developers who want to get started with Vaadin a guideline for taking their first steps with the framework. It is not the author’s intention to provide a deep insight into all the gory details of Vaadin, so it stays introductory in most of the examined topics. The framework’s core principles, like data binding, event handling, navigation etc., are described in more detail, so as to provide a good understanding of these important concepts. Other topics are introduced and described in a shorter way such that the reader will get a good first grasp of these concepts and can get started using them right away.
An advantage of this approach is that you don’t have to wade through a large tome of reference material only to be able to do your first steps with Vaadin. With a manageable size, the book takes you by the hand and introduces you to a broad range of topics which are typically encountered when developing applications with Vaadin. Along the way, a lot of useful tips and tricks are interspersed in side notes.
Even though Vaadin is primarily a UI-centric framework for creating web applications, the book does not get lost in describing the details of Vaadin’s numerous UI components. Quite on the contrary, you will find rather few detailed descriptions of UI components. Only the most important components such as Table, Tree, ComboBox, TextField or some of the layout components are described in such a way that you are able to understand how they work in principle. If you want to know more about the specifics of these and other components you have to consult additional reference material. Learning Vaadin 7 provides you with the basic knowledge and understanding so that you can do this in an informed way.
The book offers a lot of example source code as it introduces the various features of the framework. In particular, as was the case with the first edition of the book, a simple Twitter client named Twaattin is developed as an example application during the course of the book. In each chapter after a new part of the framework has been introduced, the newly acquired knowledge is applied right away to this example application so that it will be improved consecutively. All example code that is shown in the book can also be downloaded from the author’s GitHub repository.
For the eBook version of Learning Vaadin 7, all code formatting has been improved significantly. Contrary to the first edition of the book, the source code is now properly indented so that the book can be comfortably read on an eBook reader (this was verified on a Kindle reader).
Comparison with the Book of Vaadin
The Vaadin Toolkit comes with an insightful and comprehensive free reference book, the Book of Vaadin. Why should I spend money on this additional book Learning Vaadin 7 and is it worth its money? In my opinion it is. The Book of Vaadin is Vaadin’s companion reference book which covers large parts of the framework. In this function, the book gives quite a detailed description of most of the framework’s aspects, but it stays focused on the framework itself. By that, with the Book of Vaadin you’d have to cover a lot of ground in order to get started with Vaadin.
Learning Vaadin 7 uses a different approach. It aims to cover Vaadin as one of the core tools for writing an enterprise application. Hence, it doesn’t stop at describing the framework’s principles but goes beyond that. You will also get an introduction to related technologies and tools that you’ll typically encounter when writing anything other than the most simple Vaadin application. In particular, you’ll learn about how to setup your development environment for Vaadin (using Eclipse and IntelliJ), using Maven for your Vaadin projects, Vaadin in a portal server, running Vaadin in the cloud, Vaadin and CDI, Vaadin and OSGi, writing your own custom components, server push, and so on.
In summary, Learning Vaadin 7 gives you a broader view on application development with Vaadin than the Book of Vaadin at the cost of detailedness. You will need to specialize in the covered topics later on when you start working on real-world Vaadin projects.
What is missing?
Although Learning Vaadin 7 covers a lot of ground, there are still topics which are completely left out of the book or are only introduced concisely. Specifically, creating themes for Vaadin is not covered in the book at all. Vaadin’s drag and drop feature is only briefly mentioned and described in a cursory way. Vaadin’s commercial addons, such as TouchKit, TestBench, or Vaadin Charts, aren’t covered either, as this would go beyond the scope of the book. Developing your own custom components for Vaadin with GWT is covered in its own chapter. However, this topic is kept relatively introductory and is not discussed in greater detail. After reading this chapter, you’ll have a good idea of how creating custom components for Vaadin works in principle. But you will definitely need to acquire a deeper understanding of this subject together with GWT know-how in order to be able to create your own business-ready custom components.
I would recommend this book to anyone who wants to take his or her first steps with the Vaadin framework and to get a first solid overview of the framework’s features. Of course, since the book should first and foremost be seen as an introductory work, my advice to developers is to subsequently deepen their Vaadin knowledge with further readings, such as the Book of Vaadin and other Vaadin books available by the same or other publishers.
The good thing about Learning Vaadin 7 is that you get a good understanding of Vaadin’s concepts in a relatively short amount of time so that you can quickly start working on your Vaadin project. You can then systematically deepen your knowledge in specific areas through other sources as you go. The book provides you with the necessary basic understanding of the framework and related techniques needed for developing enterprise-ready applications.