Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [e4-dev] Why XML UI is important for us

Hi Hallvard,

Just for reference. UFaceKit has a concrete EMF-Model[1] which one *can*
use to back up the UI.

The interesting thing is that UFaceKits core API and implementation is
free of EMF because as I found out all the cool emf meta data is not
needed at runtime (and hard to port to constrainted devices like GWT)
and only the reflective eGet/eSet-API and Notification-API is really needed.

But as good as UBean is at runtime as bad it is at design time,
serialization, inter VM-Sharing, DSL support, ... and here EMF and its
toolstack comes into play.

If you take a look at the builder [1] you notice that one can run the UI
in 2 modes:
* Live: EMF <=> UFaceKit where the EMF stays into memory
  (most useful at design time)

* Bootstrap: EMF => UFaceKit where EMF is only used for the initial UI
  creation but not kept in memory.

UFaceKit can do this because people by definition program against an
abstract model at runtime (the UFaceKit-UI-Abstraction). The nice thing
is the syncing from EMF to UBean and back is very easy because their
reflective APIs are very similar (well EObject's API was my inspiration).

Another reason to decouple EMF and UFaceKit model at runtime is that
changes made to model attributes, ... often have a pure runtime aspect
(e.g. the text property of a input field when the user enters something)
and are not going to be persisted in the UI-Definition-Model (=EMF).

I always left UFaceKit out of the model UI discussion because we are not
focusing at creating a complete widget toolkit but rather on a specific
use case - form based UIs - but I wanted to outline how I addressed some
of the problems.

I'm just working on a CDO enabled EMF-Editor to edit the
UFaceKit-EMF-Model live which I'm going to hopefully demonstrate at ESE
(hopefully in conjunction with an CDO enabled E4-instance :-)

Tom

[1]https://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/bundles/proper/org.eclipse.ufacekit/org.eclipse.ufacekit.ui/org.eclipse.ufacekit.ui.core.model/
[2]https://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/bundles/proper/org.eclipse.ufacekit/org.eclipse.ufacekit.ui/org.eclipse.ufacekit.ui.core.model.builder/
[3]https://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/bundles/proper/org.eclipse.ufacekit/org.eclipse.ufacekit.core/org.eclipse.ufacekit.core.ubean.ecore/


Hallvard Trætteberg schrieb:
> yves.yang@xxxxxxxxxxx wrote:
>>
>> Wrong. It is the case of XSWT, not XWT. XWT has 100% Object Model without
>> methods and constructors. I just you to take a look on XWT or XAML.
> 
> I have, so I must have misunderstood XAML/XWT.
> 
>> I know TM. The model in IM defined in EMF is very similar with the model
>> of XWT (I said similar since I didn't compare completely).
> 
> Let's discuss this at ESE! In the meantime, it would be great if you
> could send me (a link to) the model, so I can compare it to TM, too.
> 
> Hallvard
> _______________________________________________
> e4-dev mailing list
> e4-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/e4-dev


-- 
B e s t S o l u t i o n . a t                        EDV Systemhaus GmbH
------------------------------------------------------------------------
tom schindl                                        geschaeftsfuehrer/CEO
------------------------------------------------------------------------
eduard-bodem-gasse 5/1    A-6020 innsbruck      phone    ++43 512 935834


Back to the top