Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-incubator-e4-dev] EMF based dynamic declarative UI


3 years ago, I wrote a project like this one but based on a dynamic XML model (XUL like) instead of EMF.
Finally, I found that EMF brings much more advantages than XML.
I rewrote entirely the project (not only due to use of EMF, the runtime engines are based on GEF Editparts and Viewers). If you are interested by my previous work, you can find it here : it is also Open Source, but I slow down my work on this project.

Databinding :

Regarding your other questions, I am also working on providing a metamodel (and engine extensions) for DataBinding, using Eclipse EMF Databinding project. It will allow to bind 2 EMF models (GUI and domain) or EMF to Java Bean domain objects. Knowing that, in this case, the work is focused on the design of the metamodel because EMF DataBinding works very well ;-). The current work already supports the use of this project by writing java code.

Another thing I am working on is stylesheets (and metamodels). Actually, the engine makes it possible to share a Color or a Font among several Component (and every changes of the resources are reflected into the view). This is one a the major features of stylesheet. I am not sure to need more than that like cascading effects, this question is still open.

Generating the model from a java API :
Do you mean, generating the EMF GUI from an existing application (domain objects ...). Of course, it is really important! I must confess that actually I am more focused on providing features to the runtime subproject, this will be the next to don one the list ... At the moment, it think it could be done using existing projects like Obeo's Acceleo or OpenArchitectureWare (there is probably more than this 2!).


Hallvard Trætteberg a écrit :

It looks very nice!

We are trying to do something similar with XSWT, without the EMF model. The developer manipulates XML, which is rendered by the XSWT engine. By using reflection instead of an explicit model, we can support more of the SWT API with less work.

However, there are a lot of advantages of having an EMF model. Among others, it will be easier to bind the UI to EMF data. Have you thought about generating the EMF model from the API, to avoid the manual modeling work?


Olivier Moïses wrote:

Monthes ago, I started to work on a dynamic declarative UI engine.
It allows the user to describe some parts of his application GUI using EMF model. Changes of the model are reflected into the view and users actions are reflected also into model. It is also extendable : a developper could add his own metamodel (extending or replacing existing parts.... SWING, eRCP ...). Runtime engine can be used in Eclipse IDE, RCP application or pure java standalone application.

I will publish the project  under Open Source license soon .
Before to publish, I would like to finish my current work on test suite and clean the code ;-). Of course, I will add more components than the existing ones (actually there is only composite, button and text, which is enough for testing and validating most of the requirements)

A demo could be find here : There is also few explanations on the wiki: (I will add more soon).

I will be happy to receive any suggestions or comments (and to answer any questions if needed).


Olivier Moises

eclipse-incubator-e4-dev mailing list

eclipse-incubator-e4-dev mailing list

Back to the top