From EMF to UIs: how to use EMF Parsley to get desktop, web and mobile UIs from the model
When it comes to build an application out of an EMF model, well, the path is not so straightforward: which frameworks should I use for the UI? Will I be tied to desktop or will I be ready for the web and mobile? At what degree of integration?
EMF Parsley was created for addressing these questions: it provides a set of reusable UI components (trees, tables, forms, editors), which are completely customizable, and an Xtext/Xbase based DSL editor for defining/customizing the UI components, which then can be used by your application with few lines of code.
Here are its main core features:
- lightweight (it just leverages EMF.Edit layer, XText for the DSL and little more)
- out-of-the-box integration with XMI, Teneo and CDO persistence implementations
- usage of Dependency Injection (via Google Juice) instead of Extension Point mechanism
- an Eclipse/JDT integrated DSL with rich tooling with static type system
- generation-code oriented (debuggable) instead of reflective approach
- can be added to existing projects with minimum impact
Thus, with respect to existing similar frameworks, we aim at static type system checks (avoiding runtime errors typical of reflective approaches) and we make it easy to debug possible problems (since the DSL can be debugged, in contrast to reflective approaches). Moreover, we honour existing .edit plugins, and this makes it easy to incrementally/partially migrate an existing EMF project to EMF Parsley.
In this presentation you will see how easy is to get UI components out of an EMF model and also how to quickly customize it with the DSL.
In addition you will see the new features of EMF Parsley that allows you to reuse the automatically generated parts to build a web and mobile applications.
In fact, although EMF Parsley is ready for the web since its origins, thanks to RAP integration, in this talk you will see how to use it also with other web technologies like GWT or AngularJS, as well as with Eclipse mobile projects like Andmore (native Android) and Thym (hybrid mobile).
EMF Parsley is an Eclipse Modeling project, currently in incubation state, with frequent releases, and is already used in business applications.
Its APIs are becoming stable and we plan the 1.0 release before the end of the year.