Hi Ed,

Thank you for your answer and your explanation. I'm newbee with EMF and I
don't want have trouble with you.
I would like just know opinion people about EMF.

Regards Angelo

2008/8/21 Ed Merks <[EMAIL PROTECTED]>

>  Angelo,
>
> Big shocker that I should respond hey? :-P
>
>
> Angelo zerr wrote:
>
> Hi,
>
> I don't know if my title post is correct, but I would like start this topic
> to write something into Wiki.
> I say EMF (or another thing) vs DOM because I would like purpose TK-UI
> <http://tk-ui.sourceforge.net/>to manage Decalarative UI and set pro/cons
> for EMF and TK-UI.
>
> In Binding XML to 
> Java<http://www.theserverside.com/tt/articles/article.tss?l=BindingXMLJava>we 
> showed the equivalence between DOM and EMF; there's a one-to-one
> correspondence between the concepts.  From this perspective EMF is not a
> better DOM!  But we also showed how knowledge about the schema underlying a
> specific DOM allows one to build a better API than generic DOM.
>
>
> TK-UI is Toolkit for User Interface where you can describe your UI with any
> XML markup (today XUL and XHTML start to be
> implemented and I have intention to implement XForms) and you can mix XML
> markup into the same description.
>
> <html:input type="text" id="myInput" />
> <xul:textbox />
>
> TK-UI manage UI with DOM Document like WebBrowser DOM Document (with
> javascript).
>
> Document document = ....
> HTMLElementInput input = document.getElementById('myInput');
> input.setValue("bla bla bla");
>
> I have read into this forum that EMF please a lot of people to manage
> Declarative UI.
> And here that I have understood
>
> User describe UI with XMI into Window.xmi like this :
>
> It doesn't have to be XMI.  If you have a schema for how you'd like it to
> look, you can use that and serialize to conform with it.
>
>
> <xmi:XMI xmi:version="2.0"
>         xmlns:xmi="http://www.omg.org/XMI"; >
>   <Window>
>     <Textbox value="bla bla bla" />
>   </Window>
> </xmi:XMI>
>
> And it load it with ResourceSet :
>
> URI fileURI = URI.createFileURI(new File("Window.xmi").getAbsolutePath());
> Resource resource = resourceSet.getResource(fileURI, true);
>
> Window /* EObject */ window = resource.????;
>
> Yes, if you know it will be a Window, you can have an API with simple
> methods.  And you can represent numbers as numbers rather than as strings.
> In other words, you can exploit the type system to know more about the
> structure.
>
> Of course it will also be an EObject, so you can access it that way too,
> but that will be much like using DOM, though more structured and strongly
> typed.
>
> Textbox textbox = window.????
>
> window.getTextbox I would assume...
>
> textbox.setValue("XXXXXX");
>
> So here how I have understood the final UI API.
> Is it correct?
>
> Yep.
>
>
> So with EMF UI is managed with Ecore model (EObject...) and custom java
> method (setValue)
> and with TK-UI UI is managed with DOM Document and custom java method
> (setValue).
>
> DOM generally uses more space...
>
>
> Here pro/cons for EMF and DOM that I see :
>
> *EMF* :
>
>     pro:
>        1. Provide a model (XSD, XMI..) to define structure of widget
> (Window, Textbox...)
>        2. Provide a lot of tools to manage EMF.
>
>     cons:
>        1. New API to learn for developer (like me) who doesn't know EMF
> (but perhaps EMF is very knowed?).
>
> No matter what, one needs to learn the "model" of the data being
> manipulated.  A generated bean-like API  is something all Java developers
> will understand.
>
>
> *DOM* (TK-UI) :
>
>      pro:
>          1. Manage UI with DOM Document :
>              1.1 : use getElementById, XPath to retrieve widget
>
> resource.getEObject(<id>) works too.
>
>              1.2 :  use addEventListener to add click event
>
> EMF also supports notification.  I'd argue it's a simpler and more powerful
> notification model; it can be used to implement undo support, for example.
>
>              1.3  : use  createElement, appendChild to add  widget  to the
> UI at runtime, use removeChild to remove widget.
>
> Any proper model supports this...
>
>         2. DOM Document API is knowed by a lot of pepople who develop Web
> with Javascript.
>
> It always seems that people don't want to use DOM though.  It's not a
> pretty sight.  It's not even simple...
>
>
>
>      cons:
>          1. (Today) : doesn't provide model (XSD, XMI...) to generate TK-UI
> Element (ex : HTMLInputElementImpl).
>
> So EMF is attractive for the model but I think taht Eclipse E4 must think
> about developer who wants use API to manage Decalarative UI.
> Do you prefer use EMF API or DOM API to manage UI?
>
> DOM is pretty horrible, don't you think? :-P  It's like using a stone and a
> sharp stick as your tools...
>
>
> With the 2 solutions (EMF, DOM), we must develop some code to bind (EMF
> java model (Textbox)/DOM Element)
> with SWT Text widget. So we need develop something.
>
> Yes, either way...
>
>
> JFace Databinding seems good to manage that. It exists (EMF Jface
> Databinding project) and me I have developped
> (DOM JFace Databinding).
>
> I hope this topic will interest some people.
>
> Hopefully I'm not being too closed minded. I do rather dislike DOM, so it's
> easy to be biased against it...
>
>
> Regards Angelo
>
> ------------------------------
>
> _______________________________________________
> eclipse-incubator-e4-dev mailing [EMAIL 
> PROTECTED]://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
>
>
> _______________________________________________
> eclipse-incubator-e4-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
>
>
_______________________________________________
eclipse-incubator-e4-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev

Reply via email to