DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
11 Monitoring and Observability Tools for 2023
Learn more
  1. DZone
  2. Coding
  3. Java
  4. An Introduction to Vaadin

An Introduction to Vaadin

James Sugrue user avatar by
James Sugrue
CORE ·
Aug. 12, 11 · Interview
Like (0)
Save
Tweet
Share
13.74K Views

Join the DZone community and get the full member experience.

Join For Free

Out of all Java web frameworks, Vaadin appears to be one of the more popular choices for developers focused on designing nice interfaces. I wanted to find out more about Vaadin, so I spoke with Henri Muurimaa.

Henri has been a professional developer, software architect and team leader since 1997. Over the years he has used many Java technologies and tools in several projects of various scopes and sizes, and he has been a member of the Vaadin team since 2002.

DZone: Could you give a one paragraph intro for what Vaadin is and what it solves?

Henri Muurimaa: Vaadin is a web framework that makes it super easy to create beautiful web user interfaces. You create your UI using the server-side API in pure Java, and Vaadin takes care of all of the RPC and browser stuff for you. Vaadin includes a comprehensive set of rich and beautiful components. The resulting UI is fully Ajax enabled out of the box, and can be easily customized using CSS. Vaadin requires no browser plugins, and supports all modern browsers, application servers and Java portals.

DZone: Is the framework backed by any company in particular?

Henri Muurimaa: The Vaadin Framework is created and supported by Vaadin Ltd, a Finnish company founded 11 years ago. The company, which was originally called IT Mill Ltd, has developed the technology since 2000, but only after significantly increasing the amount of marketing did the general public start hearing about it. The new name and brand was launched at the JavaOne 2009.

Vaadin Ltd makes money by selling services (consulting, training etc.) and optional add-ons. We currently employ 44 developers.

DZone: Where did the name come from?

Henri Muurimaa: Vaadin is a Finnish word that means a female reindeer. It is also a mythological creature in the Finnish folklore. Further background can be found in an appendix in the Book of Vaadin: http://vaadin.com/book/-/page/vaadin.html

DZone: What development tools exist to help developer productivity? Are there visual editors available?

Henri Muurimaa: Regarding IDE support there are plugins for Eclipse and Netbeans.

The visual editor makes it easy to create views and composite components using a WYSIWYG interface. The editor supports roundtrips, so you can modify the visual presentation or the generated source code, and the changes are automatically reflected to the other side. The editor is included with the Eclipse plugin. See a demo at http://demo.vaadin.com/visualdesigner-nightly

There is also a plugin for Spring Roo that allows the developer to easily create a rich UI for his domain model. See http://vaadin.com/springroo

The documentation is top notch: there is a free book that contains the full reference. The book is available online, and we give away free copies at conferences and meetups. We will also mail them to any interested company upon request. See http://vaadin.com/book

The Vaadin Sampler makes it easy to see all different components in action. Source code snippets are included. http://demo.vaadin.com/sampler

The Chameleon Theme Builder makes it easy to create a look-and-feel for your application. You just define the colors and fonts and immediately see how the various Vaadin components look with them. The resulting theme can be downloaded as a JAR file that is simply dropped to your project, and can be modified later. See http://demo.vaadin.com/chameleontheme

Vaadin includes a powerful yet simple add-on mechanism, and a directory with over 180 add-ons. A few of the add-ons are commercial or dual licensed, but the vast majority are free. The community can distribute their own add-ons through Directory. See http://vaadin.com/directory

The last but not least productivity booster is our commercial support service, the Vaadin Pro Account. It includes several features that ensures you get the most out of Vaadin. See http://vaadin.com/pro-account

DZone: Could you provide an overview of the architecture?

Henri Muurimaa: Vaadin consists of a server-side framework and a client-side engine. A developer creates the UI using the components, and Vaadin takes care of sending the UI state to the browser and rendering it there. The client-side engine captures user interaction and sends it to the server as needed. User interaction is can be reacted to by registering event listeners to the components.

This makes it easy to separate the user interface from the business logic.

DZone: Could you give some tips to those who want to get started with Vaadin?

Henri Muurimaa:  Vaadin is very easy to learn and get started with: http://vaadin.com/tutorial

There are lots of examples available in the book and on our site, but if you run into a problem just head over to our forum that is frequented by dozens of friendly and helpful experts.

DZone: Will Vaadin have any response to Spring Roo or Play?

Henri Muurimaa:  As mentioned before we support Spring Roo. The Roo plugin has been created in collaboration with VMWare.

In contrast to many other web frameworks Vaadin does not require HTML, XML, templates or JavaScript. A Vaadin application is created using just pure Java (or any other JVM language).

DZone: What are the add-ons?

Henri Muurimaa:  There are currently over 180 add-ons available. They are divided to the following categories:

  • UI components -  add new functionality to your user interfaces
  • Data components - interface various data sources to Vaadin components
  • Themes - add a fresh look to your application
  • Miscellaneous - the rest

Most of the add-ons are free under the Apache 2.0 license, but a some of them are commercial or dual licensed. Vaadin Ltd offers currently five such add-ons, see: http://vaadin.com/pro-addons

Note that licenses for all pro add-ons are included in the Vaadin Pro Account subscription.

DZone: What are the most popular add-ons? Is it difficult to write one, and how can I make money from my add-on?

Henri Muurimaa: The list of most popular add-ons can be seen in the Directory: http://vaadin.com/directory#:s=downloads

Creating and packaging new add-ons is easy using just Java. Add-ons with a client-side part are created using GWT.

The Directory includes instructions on how to create and package add-ons: http://vaadin.com/directory/help/creating-vaadin-add-ons

You choose the license and pricing for your add-on when you submit it to the directory.

DZone: What mobile support exists for Vaadin? 

Henri Muurimaa: A Vaadin UI doesn't rely on any plugins, so it can be rendered on any modern browser, including mobile ones.   In addition to this, release 6.6 brought many special improvements targeted solely for touch devices: one-finger touch scrolling, drag and drop, sliders, sub-window handling etc.

However, to bring your Vaadin touch interface to the next level you must consider the Vaadin TouchKit. It is a Vaadin add-on that makes it really easy to create Vaadin UI's with a native iOS look and feel. The current version is a bit dated, but a new major version of with a ton of changes, improvements is due very soon.

Vaadin TouchKit is a commercial add-on released with dual licensing.  

Vaadin

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Developer Productivity: The Secret Sauce to Building Great Dev Teams
  • UUID: Coordination-Free Unique Keys
  • All the Cloud’s a Stage and All the WebAssembly Modules Merely Actors
  • Test Execution Tutorial: A Comprehensive Guide With Examples and Best Practices

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: