What is Vaadin?

Vaadin is a Java web application framework. It is designed for creating rich and interactive applications that run in the browser, without any plugins. A server-driven architecture together with reusable component model is used to simplify programming of applications and for better web application security. No HTML, XML or JavaScript necessary and all Java libraries and tools are at your disposal.

How does Vaadin differ from other web frameworks?

Vaadin is designed to build web applications, not just web-sites. This positions it for application rather than website development. The programming model is much the same as in traditional desktop programming, with events and listeners rather than requests and responses. If you have written Swing or SWT-applications, you'll feel right at home with Vaadin. The most significant differences between Vaadin and other web application libraries are summarized in the comparison matrix.

Where can I get Vaadin?

You can download Vaadin packages from vaadin.com/download. Alternatively, you can access the sources at dev.vaadin.com. See Building from Sources for details. For Eclipse users, the Eclipse Plugin is the easiest alternative, for others Maven is the easiest way

How to get started with Vaadin?

See the online tutorial at vaadin.com/tutorial and the online reference manual called Book of Vaadin. If you're using Eclipse IDE, the Vaadin Eclipse plugin gets you started in minutes.

What license is Vaadin available under?

Vaadin is free and Open Source under the Apache 2.0 license. Read more about licensing here.

Where can I get help with my technical question?

You can post technical questions to the forum. There are lots of tutorials, articles and other documentation available in the developer wiki. And don't forget to try our site-wide custom search. If you happen to find the answer to your forum question before we do, you can reply to yourself!

Who uses Vaadin?

Vaadin is used around the world - mostly by Java-developers who build business oriented products, internal systems and services. We have collected some showcases of Vaadin users on the Who Is Using Vaadin page.

If you wish to promote that you're using Vaadin, please feel free to post something about it on our forums or ask us to add you to the who is using Vaadin list.

How mature is the framework and what is the history of Vaadin?

Vaadin was previously known as IT Mill Toolkit, which in turn has its roots in Millstone web UI library. The development of Millstone was started already in 2000 and the framework has evolved a lot in the recent years. A lot of effort has been put to keep the framework backwards compatible when possible and thus applications created in 2003 can be easily updated to use the current version.

IT Mill Toolkit was open-sourced in 2007, and since then we have been moving more and more into that direction. Renaming the library as Vaadin in 2009 was one more step in this process.

How well does Vaadin scale and how good is the overall performance?

Vaadin is used in many heavy-load production environments with great success. Also we have done a lot of work to keep the penalty of the server round-trips as small as possible. The QuickTickets scalability study was published to show some numbers about Vaadin scalability.

How are the layouts created?

We have several different options for creating the layout of the application. Most developers prefer the programmatic style of creating layouts in a similar fashion to Swing programming. If you like to use HTML it's possible by using a CustomLayout or if you want to position the elements using CSS, you might want to use CssLayout.

In addition the Vaadin plugin for Eclipse includes a visual editor. It should help you get started with building your applications UI very quickly. It generates Java code for you that you can use as a starting point for implementing event listeners and data binding.

How can I change the look and feel of the application?

Every Vaadin application has a theme assigned to it. You can easily define your own themes by adding your own CSS definitions and images if needed. The CSS class names are well documented and the Eclipse plugin even creates the needed files for you.

What is the relation of Vaadin and GWT? Can I use Vaadin without GWT?

The browser side rendering engine of Vaadin is implemented using GWT. At runtime there are no GWT dependencies in the server side, and the browser side is pure Javascript with no dependencies to Google.
The javascript code shipping with Vaadin is precompiled, and no GWT compilation is required when using them. Generally you don't need to know anything about GWT or how the browser side works unless you want to create a new component that can not be built as a composition of existing ones.
If you wish to extend your app with browser side code you need to write the extensions in pure Java against the GWT API, and compile them to Javascript using the GWT compiler. This is automated very well with our Eclipse plugin or Maven support.

Vaadin Compared to Other Frameworks

How does Vaadin differ from GWT?

GWT applications run in the browser, while Vaadin applications run on the server. We do actually use GWT as a "rendering engine" on the browser side, so you can combine Vaadin and GWT.

How does Vaadin differ from Wicket?

While Vaadin has many similarities to Wicket, main differences are the absence of any HTML templates and Vaadin applications are automatically AJAX-enabled since the framework handles all the wiring between the browser and the server-side application.

Is Vaadin like JSF?

From an architectural point of view, both JSF and Vaadin are server-side frameworks. However, Vaadin applications are much richer and programmed in plain Java - no XML configurations or page templates! Also, it is much simpler to use - only a single JAR file and you have all the components there.

Why should I use Vaadin instead of GWT?

Vaadin applications are run on the server and are inherently more secure since the application logic is not exposed to the client-side. By running the application on a real JVM (on the server) you can use all Java features, libraries and tools.

When should I not use Vaadin?

Although there is no technical limitation to use Vaadin to build websites it might not be the best tool for this. If you site primarily consists of static web pages, links and has no user log-in/session, consider using some CMS or JSP/HTML and only embed Vaadin applications where you actually need more application-like features.

Vaadin Compatibility

Which browsers are supported?

See the Features page for an up-to-date list of supported browsers.

Is Vaadin compatible with other Java tools?

If it is a Java tool, library or technology, the answer is most likely yes. Vaadin is a single Jar-file implementation following Java EE standards and it uses typical desktop UI programming patterns. This should make it compatible with most other Java technologies, libraries and tools. You can get a glimpse of what has been done with it here.

Does Vaadin run on portals or the Google App Engine?

Yes and yes, in addition to running Vaadin applications as stand-alone applications they can be run as standard Java portlets or they can be deployed into the Google App Engine.

Can Vaadin be used together with Spring?

Yes, Vaadin integrates well with Spring. See the Spring Integration article

Vaadin Team

Who is developing Vaadin?

Vaadin is mainly developed and maintained by Vaadin Ltd. (previously named IT Mill). As in most open source projects, however, hobbyists and professional enthusiasts play a big role in its development. For a list of developers, see Contributors list maintained by Ohloh.

How is Vaadin development financed?

Vaadin Framework is backed by Vaadin Ltd, which offers services, solutions, support and add-on components on top of Vaadin. This revenue makes it possible to keep Vaadin truly free for anyone to use. All commercial services and products on top of Vaadin are 100% optional and there is no need to buy anything.

Do you give speeches in conferences?

Yes, we give speeches in many conferences. If you would like us to speak in your conference, please don't hesitate to contact us. As an example, see this presentation.

Vaadin Add-ons

What are Vaadin add-ons?

Vaadin add-ons are extra components, themes, tools, etc. available at the Vaadin Directory for easing the life of Vaadin developers. Most applications can be built using just the core components of Vaadin Framework, but sometimes you just need something more. Then it's a good idea to look into the Directory before building your own components. There just might already be an add-on for just your needs.

On the other hand, if you have already created a piece of work that you'd like to share with the Vaadin community, you should consider publishing it as an add-on in the Directory. Most of the add-ons are free (Apache 2.0 licensed), but some add-ons are licensed with the commercial CVAL license.

After purchasing CVAL licensed add-ons for a project, can I use the add-ons also in other projects?

Yes. The CVAL license agreement is tied to a developer in a company, and not to whatever he's working on. However, to use a CVAL licensed add-on in a project all developers contributing to the project need to have a CVAL license.

How many CVAL add-on licenses do I need?

To use a CVAL licensed add-on in a project all developers contributing to the project need to have a CVAL license.

Can I transfer the CVAL add-on license to another developer?

Yes, you can do this within the same organization as long as you don't charge any fees for the transfer. You may not transfer the license to another organization.

Can I distribute the add-on I've purchased a CVAL license for to my customers?

Yes, distributing the add-on to your customers is allowed.

Can I expect free updates or support for the add-on I purchased? What about bug fixes?

Vaadin Ltd will publish bug fixes and give free support (over the forums) for all add-ons offered by us.

How can I get new features to a CVAL licensed add-on in the Directory?

You have to contact and ask us to implement the feature. We might implement it as a free update, and we also offer commercial services for extending the Apache licensed add-ons. Note that you will get a discount if you allow the new feature to be published in the Directory under the original license.

Is there a licensing option to get full access for all add-ons without needing to purchase them individually?

Yes, our Vaadin Pro Tools (and old 'Pro Account') includes license for all commercial add-ons available in Directory

Vaadin Trainings

What does the Vaadin Framework (2 days) training consist of?

In Vaadin Framework course you will learn the basics of developing with Vaadin Framework and start building your own applications.

What does the Vaadin Framework Best Practices (2 days) training consist of?

In Vaadin Framework Best Practices you will learn the best practices in using Vaadin Framework and how to maintain, structure and optimize your application. The course description can be found at Vaadin Training page.

What does the Vaadin Framework Client-side (1 day) training consist of?

Vaadin Framework Client-side teaches you how to extend Vaadin's functionality on the client-side with JavaScript and GWT. The course description can be found at Vaadin Training page.

What does the Vaadin Framework JaveEE (2 day) training consist of?

In Vaadin Framework JaveEE you will learn how to make use of Java EE in your Vaadin web applications. The course description can be found at Vaadin Training page.

What is an online training?

An online training consists of the same elements as its classroom equivalent, but slightly modified to suite the online format. An online training is delivered through Google Hangout and requires a working webcam and microphone from the attendee, in order to achieve a more interactive learning experience . The course description can be found at Vaadin Training page.

When do the training days start and end?

Training day starts at 9AM and ends at 5PM. There is a Lunch break at noon and smaller coffee breaks along the day..

Who are the Vaadin Training trainers / instructors?

Vaadin Experts and developers who have long-term experience in various Vaadin projects and applications.

In which language are the training materials?

All the official Vaadin Training materials are in English.

In EU countries, why do I have to give my VAT number in registration?

The Reverse charge EU VAT act §65 applies to Vaadin Trainings in EU area. Please read more at EU legislation summaries web page.

Do I have to have a laptop?

Yes, a laptop is mandatory, since there will be a lot of hands-on coding in the course.

Can I join the training for just one (1) day?

We strongly suggest you join the entire training, but if you want to join just half that is naturally up to you. You would still need to pay full price for the training.

Does the training fee include hotel accommodation?

The hotel accommodation is not included in the course fee. Please make your hotel reservation by your own preferences.

Where are the trainings organized?

Vaadin Trainings are organised in very central locations in various cities around Europe and USA.

How can I pay the Vaadin Training?

The Vaadin Training is payed during the enrolment process via sign-up.Payment methods are Visa/Mastercard, Paypal, pdf invoice to an valid e-mail address, paper invoice, e-Invoicing. Terms of payment 14 days net.

Where can I find the terms and conditions for the training?

The up to date Vaadin Terms and Conditions for Training Services can be found at https://vaadin.com/training-terms-of-service


How many licenses do I need for my project?

Each developer who edits the source code in the project and / or compiles it needs a license.

What constitutes a project? Do I need a license even when I do not directly develop against the Vaadin add-on API?

The general rule is that if you would need a Vaadin Add-on to compile your project, you will need a license. For exact terms, see the license text.

Do I need license for running the application using the licensed add-on?

No. Except when the application itself is used in development of other applications.

Do I need a license for distributing my application?

No. Only developers need a license.

How many applications can I create with the same license?

As many as you like. The more the better :)

I have a CI server. Do I need to purchase a separate developer license for that?

No you don't. Just use the same license as a developer. A good choice is the person in charge of the build rules.

I am not sure if I need a license. Can I ask anyone?

Sure, we would be happy to help. Just send an e-mail to sales@vaadin.com and we'll get back to you right away!

Can a license be transferred?

Sure. That said, CVAL is not a "floating license". All developers on the project using the add-on has to have an individual license installed. When the license is transferred, it must be deleted from the person who is not using it any more. Transferring license back and forth on daily basis would be considered a license violation.

How does the Pro Tools subscription work?

As long as you have a valid subscription, you can download licenses for included tools from the licenses page. The licenses expire when the subscription expires.

Does the Pro Tools subscription include upgrades?

Yes, the Pro Tools subscription includes all major, minor and maintenance updates to all of the included tools.

After license has expired, what can I do with the software using the licensed add-on?

You can continue using and distributing the software using the licensed add-on even after the license has expired or you have transferred the license to someone else, but you may not make any modifications to the software. Even fixing a small bug requires a license. You should have a valid license for everyone maintaining the software.

I have purchased a CVALv2 (or CVAL v1) license for my add-on. Can I use it with new major version licensed under CVALv3?

Yes, you can. CVALv2 and CVALv1 allow major version updates of the same add-on. This may be done once. After upgrading to a CVALv3 licensensed add-on, you will be issued a new CVALv3 license that will not give free upgrades to further versions.

I have an add-on licensed under CVALv3, how can I upgrade for the next major version?

You need to purchase a new license. There may be a discounted pricing for upgrades. However, major upgrades are included in the Pro Tools subscription at no extra charge.

The license check fails because it cannot reach the server. What to do?

Check that you have network connection. A network connection is required in order for the license to be validated. If the problem persists, please contact protools@vaadin.com.

I'm behind a network proxy. How can I make license check working?

See these instructions for how to configure the proxy settings for the Java Virtual Machine.

How often the licenses are checked online?

The license is checked every time the project using the add-on is compiled. However, the result is cached and used if the server is unreachable.

Why can I not give the license in the code and/or store it into SCM?

Vaadin CVALv3 is a developer-seat license. Each developer needs to have their own license, and sharing a license (via SCM or manually) violates the terms and conditions of the license.

Are there any non-commercial licensing options?

Yes, non-commercial licenses are available upon request.