Building Business UIs with EMF Forms


Manual development of user interfaces for business applications has several drawbacks. Visible components such as forms or reports are typically subject to constant change in response to user feedback. Additionally, many forms are often developed in parallel while each form must still comply with a uniform look and feel. Typical UI layout technologies are powerful but also complex to use since 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 typical advantages of Model-Driven-Development.
In this talk, we present EMF Forms, a framework within the EMF Client Platform wherein the user interface is declaratively expressed with a simple EMF-based model instead of code. EMF Forms consists of controls to enter data arranged in a layout. A view model is then interpreted by a rendering engine. The goals of EMF Forms are to:
- produce form-based UIs more efficiently
- 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)
We start with an introduction to the concept of declarative UI modeling. We then demonstrate the EMF Forms framework and its tooling to create view models. With EMF Forms, the UI is defined independent from a specific UI technology and therefore the same form can be rendered in SWT, JavaFX, Swing or in the browser with RAP - just by replacing the renderer. EMF Forms is a perfect match with the concept of the application model rendering in e4 since it continues the e4 application model down to the content of views.
In this presentation, we discuss our experience applying the concept to commercial projects, including lessons learned and potential pitfalls.


Session details
Speaker(s): Session Type: Experience level:
Track: Tags:
Schedule info
Session Time Slot(s):
Thursday, June 25, 2015 - 09:15 to 09:50