Are you still manually coding UIs?
Manual development of user interfaces for Business application has several drawbacks. Visible components such as forms or reports are typically subject to constant change, based on user feedback. Additionally often many forms are developed in parallel while still all forms must comply to a uniform look and feel. Typical UI layout technologies are powerful, but also complex to use, as they have to support any kind of possible layout. Maintenance and testing of manually coded forms is costly, time-consuming and error-prone. All these shortcomings are in turn typical advantages of Model-Driven-Development. In this presentation, we present an approach, where the user interface is expressed with a simple model instead of code. The model defines only concepts, which are allowed by the given user interface guideline. A modeled UI is then interpreted by a rendering engine. The goals of this approach are to more efficiently produce form-based UIs adapt form-based UIs to changes in data model with minimum effort establish or easily change a uniform look and feel enable a much shorter turnaround with other stakeholders (e.g. product manager, customer) lower the technical entry barrier to create form-based UIs We start with a short generic motivation and introduction to the concept of UI modeling. We then demonstrate a concrete open source implementation of a UI modeling framework called EMF Client Platform. The framework abstracts the custom layout of the user interface from the applied UI technology and allows to switch UI technologies from SWT to JavaFX, Swing or Web - just by replacing the renderer. It is therefore a perfect match with the concept of the Application model rendering in e4. We focus on our experience in applying the concept to commercial projects, including lessons learned and potential pitfalls. This is a revised version of the successful presentation at EclipseCon Europe.