Discover the latest new and noteworthy features of EMF Parsley while it is joining the Eclipse Neon train with its 1.0 (or graduate) version.
When it comes to build an application out of an EMF model, 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 is why you should use it in your projects:
- it is very lightweight (it just leverages EMF.Edit layer, Xtext for the DSL and little more) and can be added to existing projects with minimum impact
- it provides out-of-the-box integrations with XMI, Teneo and CDO persistence implementations
- it uses Dependency Injection (via Google Guice) instead of Extension Point mechanism
- it ships with an Eclipse/JDT integrated DSL with rich tooling and a static type system
- it is generation-code oriented (debuggable!) instead of a reflective approach (no bad runtime surprises)
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, mostly a live demo, you will see how easy is to get UI components out of an EMF model and also how to quickly customize them 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).