EMF Forms

EMF Forms provides a new way of developing form-based UIs. Instead
of manually coding form-based layouts, it allows you to describe
the UI with a simple model instead of with code. The approach
allows you to more efficiently produce and iteratively refine form-based
UIs that conform to a uniform look and feel. EMF Forms also lowers the technical
entry barrier to creating form-based UIs. The UI description is
interpreted by a rendering engine and allows you to switch between
the UI technology stack to Swing, SWT, JavaFX or Web - just by
replacing the renderer. EMF Forms is a new subcomponent of the EMF Client Platform.
Looking for JSONForms? Click here

Form-Based CRUD UIs

Form-Based CRUD UIs

Many applications require to display and modify entities in a form-based UI.
EMF Forms supports rendering a form-based UI for a single entity and its
children objects. The framework ships with widgets (controls) for most
common data types including text fields (String), check boxes (Boolean),
drop down boxes (Enumerations) and many more. The rendered form-based UI is
fully functional and bound to the domain data model instances. The
resulting UI therefore allows the modification of all attributes and
references of real data objects. While most tutorials and screenshots show
the integration of EMF Forms as an RCP editor, the form-based UI is
definitely not limited to this context. The rendered result is just a
regular UI component, e.g. a SWT composite, and can therefore be embedded
into any part of the UI. Furthermore, EMF Forms is compatible with different
UI technologies based on its multi-platform support.

Design your UIs

Design your UIs

EMF Forms allows the design of completely customized forms, including the
layout, static elements, such as labels or separators, and the controls
used to display and modify data. The UI is expressed in a simple model
rather than manually coded. This “view model” is specialized on the
description of form-based UIs and therefore more focused and efficient than
full-blown UI toolkits such as SWT or JavaFX. The resulting model is
interpreted by a rendering component, which allows to define the style
of the resulting UI.
Finally, it is possible to add custom components (widgets) for certain
attributes or references. This also allows to re-use existing UI components.

Features for professional UIs

Features for professional UIs

Although EMF Forms can be used efficiently for small UIs such as wizards,
it plays it key strengths when applied for complex UIs in business
applications. The model-based approach allows to define the concepts to
be used in the UI and therefore ensures a homogenous look-and-feel of all
forms. Adaptations on how elements are rendered can be done at one central
place, the renderer. Additionally, EMF Forms supports input validation
based on definable constraints. Parts of the form-based UI can be disabled
or hidden based on previous selection of a user. And finally, EMF Forms
provides powerful form elements, such as Master Detail Views or Multi-Paged
or Tabbed forms.

Customizable and Extensible

Features for professional UIs

EMF Forms is highly customizable. It is possible to add custom components
(widgets) for certain attributes or references. Additionally, EMF Forms
allows to customize the layout of the UI and include specific UI
customizations, such as rule-based visibility of controls.
Customizations can be expressed in a simple model and are interpreted by a
rendering component. Therefore, you do not have to manually write UI code.
The approach is even independent from a UI toolkit, you can migrate your UI
to JavaFX or to the Web just by replacing the renderer. EMF Forms allows to
customize and optimize form-based UIs for your application. As the
reflective default UI still works for all elements, you perform
customization in small iterative steps.

Tooling

Tooling

Most adaptations of the form-based UI are defined with the view model. This
model can be edited using a tool provided by EMF Forms. This way of
designing a UI is much simpler and less tedious than writing UI code. By
providing more complex layout elements, such as Vertical/Horizontal
Layouts or a TreeMaster Detail and by allowing to nest these hierarchically,
even complex UIs can be expressed with the EMFForms view model. EMF Forms
Tooling allows you to efficiently create and modify a form-based UI. For
every change on the UI, it provides a preview of the UI under development.
Additionally, the tooling offers a couple of useful wizards. As an example,
a default view model can be automatically generated. Potential issues in
the resulting UI can be detected by validation rules.

Convention over Configuration

Convention over Configuration

By default, the UI is rendered reflectively, even without explicitly
defining the UI layout. This means you can open any entity of your
application without any additional adaptations or code generation. If you
add new entity types to your model, EMF Forms will still work out-of-the-box.
EMF Forms is therefore a perfect match for agile or iterative development.
EMF Forms will render a default UI for all new elements. Once the underlying
data model has stabilized, you can start to adapt and customize the UI.