Skip to main content

Modern HTML5 user interfaces with Vaadin

Impressive HTML5 user interfaces matching to any display size and running on all major platforms automatically


Using Vaadin as UI-Framework

  • The entire HTML5 user interface can be written in Java
  • The UI widget set is based on Web Components
  • Individual styling with CSS
  • Generates the entire HTML client dynamically
  • Fully automated client-server communication
  • The server-side architecture provides optimal security
  • You do not get in contact with HTML and JavaScript and you need not bother with DOM manipulation, browser history and other low-level problems

Vaadin is based on Web Components

  • Web Components are the base for the Vaadin UI widget set
  • The JavaScript code of all Web Components is already optimized for all major browsers

Impressive UI widgets

Impressive HTML5 user interfaces matching to all display sizes automatically and running on all major platforms and mobile devices.


Table & Tree-Table

The table lets you display text and images, allows sorting, and provides automated lazy loading, i.e. data is only loaded as the user scrolls. The structure is automatically generated by assigning entities.


Simply drag and drop and you can easily and quickly expand the Accordion components with any widgets of your choice which are then automatically displayed as new tabs.


Menu bars can be constructed in a flash by simply dragging-and-dropping additional menu items to an existing menu. You can then create an event for each menu item with just the click of a mouse.

RTE – Rich Text Editor

The functionality of the rich text editor components can be quickly and easily individually configured through the properties menu.

Databinding for Hibernate

Hibernate entities can be connected with UI widgets by using drag & drop very easily. The query code is then generated automatically.

Intuitive Layout Manager

Use layout manager to create interfaces that automatically and flexibly adapt to any screen size. RapidClipse offers intuitive wizards so you don't have to deal with complicated layout manager programming, thus saving you lots of development and testing effort.

Form Generator

The form wizard lets you generate appropriate, fully functional forms for each database table. Even forms with multiple columns and spread over several tabs and combined input/search forms are possible. All controls can then be moved around the interface with your mouse.

Validation Wizard

You don't need to program your own input validators. The validation wizard lets you assign all form controls and their entities to powerful validators with just the click of a mouse. Even regular expressions are supported. In addition to the standard validators, you can also integrate your own validators per annotation.

Conversion Wizard

The conversion wizard lets you assign more than formatting such as currency symbols or date formats to your form controls. Frequently used conversions and calculations are also supported by default.

Table Designer

The table editor lets you make various settings for each column without having to write complicated table renderers; the settings include visibility, sortability, scaling behavior, labeling, and formatting. Also computed fields, internationalizations, and the inclusion of other GUI widgets can be readily implemented.

Styling with CSS

With CSS, you can change the look of everything from individual controls to the entire interface. More extensive style definitions can be summarized into style variables and entire style classes that you can assign to a widget in the UI designer as a property.

Custom UI-Widgets

RapidClipse lets you expand all UI widgets with additional functions with a wizard that lets you derive the base components. Your new components are automatically integrated into the widget palette, allowing you to expand RapidClipse as much as you like and also share your widgets with others. You can also integrate external Vaadin and GWT components.

Internationalization & Localization

RapidClipse offers a wizard that completely automates the internationalization of interfaces by standard Java methods. First, the entire text of an interface is read, outsourced in resource files with its country code, and then replaced by variables. You only need the appropriate translation for each entry in the language file. When run, all texts are read automatically from the matching resource file depending on the language setting and displayed on the interface. Country-specific information such as date, time, currency settings, etc. can also be automatically localized in Java.

Declarative & Bi-directional

RapidClipse enables you to write or change your user interace with XML as well. GUI-Builder and XML code are automatically synchronized (bi-directional) with each change. Based on the XML code, RapidClipse then generates the final Javacode based on Vaadin.


GUI-Builder – GUI development with drag & drop

XML Editor – GUI description XML Editor


XML Code – GUI development by writing or editing XML code

<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<?xdevuiml version="1.0"?>
<?template BROWSER_XGA?>
<?import com.xdev.ui.XdevButton?>
<?import com.xdev.ui.XdevView?>
<XdevViewxmlns:x="" x:name="MainView">
   <x:constraintszpos="0" width="100%" height="100%" />
   <XdevButtoncaption="Button" x:name="button">
       <x:constraintszpos="0" width="-1px" height="-1px" />



Java Code – Fully automated generated Java code

import com.xdev.ui.XdevButton;
import com.xdev.ui.XdevView;
publicclass MainView extends XdevView {

  public MainView() {
   * WARNING: Do NOT edit!

  // <generated-code name="initUI">
  private void initUI() {
      this.button = new XdevButton();
  } // </generated-code>
  // <generated-code name="variables">
  private XdevButton button;
  // </generated-code>


Live preview on mobile devices

RapidClipse provides a pre-configured server environment that allows you to test your application locally with just one click. By scanning a QR code, you can access your app on your tablet or smartphone and test it under real conditions. Each change in the UI designer is then automatically pushed to your device.