Introduction to Vaadin Development

Here is a short video introduction and tutorial to Vaadin development using Vaadin 7, Vaadin plugin for Eclipse and Apache Tomcat.

What is Vaadin?

Vaadin is a web application framework for Rich Internet Applications (RIA). In contrast to Javascript libraries and browser-plugin based solutions, Vaadin features a complete stack that include a robust server-side programming model as well as client-side development tools based on GWT and HTML5. The rapid development model that abstracts away from implementation details such as RPC and cross browser compatibility and full control over all the layers.

Vaadin is a large collection of UI components. You compose the application user interface from components such as Buttons, TablesTrees and Layouts. The components use events, listeners and data binding to communicate with each other and with your business logic.

Vaadin is a robust architecture for rapid application development. The component-based architecture together with statically typed Java language and data binding features help you build applications that are easily modularized and refactored as needed. The IDE and tooling support including visual designing tool help you to build web user interface extremely fast.

Learn more about Vaadin Features »

Vaadin Highlights

  • Easy Programming Model

    Server-side Java

    Forget about XML, Javascript, the browser and RPC, you're working with server-side Java code. This separates Vaadin from client-oriented Java frameworks such as GWT.

    Client-side Java

    Extend client-side Vaadin using HTML5, JavaScript, and GWT to create new user interface components or even offline applications.

    Code Examples
    Vaadin Architecture

    See how Vaadin works and integrates with different platforms and other frameworks.

     

    More about architecture in the Book of Vaadin:

     

    Browser independent

    Leave the browser compatibility issues to Vaadin and focus on developing your application. All components in Vaadin are compatible with

    • Internet Explorer
    • Mozilla Firefox
    • Safari
    • Opera
    • Google Chrome


    Full compatibility info »

    No browser plugins required

    Vaadin is based on GWT and JavaScript and does not require the end user to install any plugins.

    Framework comparison

    Side-by-side comparison of Vaadin to other Java web frameworks.
    Go to framework comparison »

  • Themes and Styles

    Looks the Way You Want It To

    Vaadin comes with a set of good-looking themes to get you started. Since individual apps have individual needs, Vaadin makes it easy to customize the look of your application using only CSS. For this Vaadin offers a SASS compiler to make CSS management easy.

    Learn more about styling your Vaadin applications
  • Extending, Packaging and Distributing

    Create your Own Components

    Extend the existing components or create brand new ones using Java and GWT. Server communication is handled automatically, you only provide the state information to be sent.

    Unique Add-on Architecture

    Vaadin has complete add-on architecture. Add-ons, such as new components can be packaged as single JARs, which can then be used in other projects just by adding them to the project's classpath.

    Using Add-ons

    Using add-ons from Vaadin Directory into your project is as easy as downloading them and recompiling the widgetset. The video below demonstrates the process.

    Downloading and integrating an add-on from Vaadin Directory (4 min)
    Creating Add-ons

    Create re-usable widgets and classes and package them as add-ons that you can share in Vaadin Directory. Visit the link or see the video for an example on how to package your add-on.

    Creating and packaging a Vaadin component (2 min)
    Distribute in Vaadin Directory

    In the Vaadin Directory you can find dozens of useful add-ons of all kinds. See what others have done or distribute your own add-ons for others to use.

  • The Best Documentation Around

    Book of Vaadin

    The Book of Vaadin provides you with all the information you need about Vaadin in a comprehensive form. It's available in PDF format, as an online version and as a physical book.

    DZone Refcard
    DZone Ref Card for Vaadin

    For a quick introduction to Vaadin, check out the DZone Vaadin Refcard

    Online Tutorials
    Address Book tutorial

    Vaadin tutorials provides you with a code-centric introduction to Vaadin.

    API

    When you get down to programming, the Vaadin API Reference Documentation will help you with the classes and the methods.

    FAQ

    In the FAQ you can find the answers to the most common questions people have when learning Vaadin.

  • Standard Java Deployment

    Servlet Deployment

    Vaadin provides a single servlet which runs the application. An application can be deployed to any Java application server that supports servlet 2.3 or newer.

    Portlet Support

    Vaadin applications can be deployed as portlets in portals such as Liferay. No code modifications are needed to deploy a Vaadin application to a portal and both portlet standards 1.0 (JSR-168) and 2.0 (JSR-286) are supported. Vaadin is included in Liferay 6.0 as a standard feature.

    Supported Application Servers
    • Apache Tomcat
    • BEA WebLogic
    • IBM WebSphere Application Server
    • JBoss Application Server
    • Jetty
    • Glassfish


    Full compatibility info »

    Supported Portals
    • Liferay Portal
    • GateIn Portal
    • Weblogic Portal
    Google App Engine

    The same servlet and portlet Vaadin applications can be deployed to Google App Engine, provided they are built to be serializable.

  • Develop With Tools You Already Know

    Eclipse IDE
    Eclipse IDE

    Vaadin provides an Eclipse plugin which automatically sets up your project, compiles your widgets. With the visual editor you can build application by drag-and-drop.

    NetBeans IDE
    NetBeans IDE

    A community created Vaadin 6 NetBeans plugin is available for all NetBeans developers.

    Maven
    Maven

    Vaadin is in the central Maven repository, providing archetypes for creating Vaadin projects and a widgetset compilation plugin for Maven.

    Apache Ant
    Any IDE / automated build system (Ant)

    Ant integration is provided for users of any IDE, for automatic build systems and for users preferring to not using an IDE.

Use Vaadin for...

  • Stunning Web Applications The look and feel makes a difference. Vaadin comes with great-looking components and many customizable themes.
  • Browser Independent Web Applications Built on GWT-based widgets, Vaadin applications provide rich user experience, and they support all modern browsers - without installing any plugins.
  • Rapid Application Development With Vaadin, you create web applications in minutes. A few lines of Java code and Vaadin takes care of the rest. No complex XML configurations, no JavaScript, no RPC.
  • Secure Web ApplicationsThe proven server-side architecture ensures that by using Vaadin components your application code is not sent to the browser.
  • Maintainable Applications Pure Java gives you the power to build applications that can be easily extended and maintained for years to come.
  • Offline and Stateless Applications Vaadin allows writing client-side functionality in Java and compiling to JavaScript to be run in the browser if needed.

Free and Open Source

Vaadin is licensed under the Apache Software License 2.0 which means you can use it both for non-commercial and commercial projects free of charge.

More information at vaadin.com/license