| <!-- |
| This document is provided as a template along with some guidance for creating |
| your project proposal. This is just a template. Feel free to change it as |
| you see fit (add sections, remove section). We feel, however, that the |
| suggestions represented in this document represent the reasonable minimum |
| amount of information to move forward. |
| |
| Please keep the formatting in this document simple. Please do not edit |
| this document in Microsoft Word as it adds huge piles of markup that make |
| it difficult to restyle. |
| |
| More information is available here: |
| |
| http://wiki.eclipse.org/Development_Resources/HOWTO/Pre-Proposal_Phase |
| |
| Direct any questions about this template to emo@eclipse.org |
| --> |
| |
| <html> |
| <head> |
| |
| <!-- |
| Include the title here. We will parse it out of here and include it on the |
| rendered webpage. Do not duplicate the title within the text of your page. |
| --> |
| |
| <title>XWT</title> |
| </head> |
| |
| <!-- |
| We make use of the 'classic' HTML Definition List (dl) tag to specify |
| committers. I know... you haven't seen this tag in a long while... |
| --> |
| |
| <style> |
| dt { |
| display: list-item; |
| list-style-position: outside; |
| list-style-image: |
| url(/eclipse.org-common/themes/Phoenix/images/arrow.gif); |
| margin-left: 16px; |
| } |
| |
| dd { |
| margin-left: 25px; |
| margin-bottom: 5px; |
| } |
| </style> |
| |
| <body> |
| <p> |
| The XWT project is a proposed open source project under the <a |
| href="http://www.eclipse.org/projects/project_summary.php?projectid=technology">Technology |
| Container Project</a>. |
| </p> |
| |
| <!-- |
| The communication channel must be specified. Typically, this is the |
| "Proposals" forum. In general, you don't need to change this. |
| --> |
| <p> |
| This proposal is in the Project Proposal Phase (as defined in the |
| Eclipse Development Process) and is written to declare its intent and |
| scope. We solicit additional participation and input from the Eclipse |
| community. Please send all feedback to the <a |
| href="http://www.eclipse.org/forums/eclipse.proposals">Eclipse |
| Proposals</a> Forum. |
| </p> |
| |
| <h2>Background</h2> |
| |
| <!-- |
| Optionally provide the background that has lead you to creating this project. |
| --> |
| <p>The Graphical User Interface (GUI) is the visible part of the |
| software. It really consists of the gate through which business |
| features are made available and it reflects the application quality. |
| Designing the visual composition and temporal behavior of GUI is an |
| important part of software application programming. Eclipse supports |
| only UI programming in Java. This solution presents several drawbacks:</p> |
| <ul type="disc"> |
| <li>High technology prerequisite as UI developer</li> |
| <li>Difficult to separate UI appearance and business logic</li> |
| <li>Poor reusability</li> |
| <li>Limitation of the dynamic UI support</li> |
| <li>Very hard to integrate with develop tools</li> |
| </ul> |
| <p>Declarative UI is a new programming paradigm on UI, which is |
| widely used in Web application development. Declarative UI should be a |
| foundation solution to resolve these problems. Some of them can be |
| resolved directly, and some of them need a tool built on top of this |
| framework such Visual Editor, Modeling tool.</p> |
| <p>The project e4 has taken a good initiative to incubate such |
| technology by developing the component, known as XWT. In fact, XWT is |
| designed to provide a foundation solution with XML Object dynamic |
| mapping solution defined in a mature Open Specification. This solution |
| has proved the usability and furthermore, it demonstrates the |
| following benefits:</p> |
| <ul> |
| <li>Rapid Development</li> |
| <li>Easy Maintenance</li> |
| <li>Easy form validation</li> |
| <li>Reusability</li> |
| </ul> |
| <p> |
| Now, it is proposed that XWT graduates progressively in an independent |
| project to increase the visibility and to prevent any confusion with <a |
| href="http://www.eclipse.org/e4/">e4</a>. |
| </p> |
| |
| <h2>Scope</h2> |
| |
| <!-- |
| All projects must have a well-defined scope. Describe, concisely, what |
| is in-scope and (optionally) what is out-of-scope. An Eclipse project |
| cannot have an open-ended scope. |
| --> |
| <p> |
| The purpose of this framework is to provide the functional declarative UI in XML for eclipse plugin and RCP application. |
| Precisely, it just provides a thin XML serialization to define the UI specially over the existing Eclipse UI components such as SWT, JFace, DataBinding etc.. |
| </p> |
| <h2>Description</h2> |
| |
| <!-- |
| Describe the project here. Be concise, but provide enough information that |
| somebody who doesn't already know very much about your project idea or domain |
| has at least a fighting chance of understanding its purpose. |
| --> |
| <p>XWT uses the most all Eclipse tools to archive the UI |
| Presentation modeling and code generation. The most important tool is |
| the modeling transformation engine. Several engines are used in |
| different Eclipse projects:</p> |
| <ul> |
| <li>SWT</li> |
| <li>JFace</li> |
| <li>Data binding</li> |
| <li>eclipse forms</li> |
| </ul> |
| <p>A first integration with eclipse workbench 3.x/4.x has been |
| implemented.</p> |
| <p> |
| XWT has been bundled in <a |
| href="http://www.eclipse.org/modeling/mdt/papyrus/">Papyrus</a> to |
| define the Properties View for each UML element. And <a |
| href="http://www.eclipse.org/windowbuilder/">WindowBuilder</a> has |
| provided the visual edition capability for XWT. |
| It has been used by <a href="http://www.eclipse.org/pmf/">PMF</a> to valid the MDE solution for eclipse in a prototype.</p> |
| |
| <p>It is expected that the user community for this component will |
| consist primarily of developers, given that it is essentially a |
| foundation for building UI modeling tools.</p> |
| <h2>Why Eclipse?</h2> |
| <p>XWT introduces a new UI development paradigm for Eclipse based on XML. By design, it separates the UI description XML with business logic in programming language. Thurefore, it provides a new capability of UI computing processing. Precisely, XWT simplifies the tools development such as Visual edition, MDE and model transformation engine.</p> |
| <p>XWT is designed for eclipse and only for eclipse. It is more convenience for users if this component is hosted in Eclipse Labs. Users can access the sources, docuementation and bug tracking via Eclipse infrastructure.</p> |
| <h2>Initial Contribution</h2> |
| |
| <!-- |
| Projects are expected to arrive at Eclipse with existing code. |
| |
| Describe the existing code that will be contributed to the project. Please provide |
| a couple of paragraphs describing the code with modest detail, including important |
| information like code ownership (who holds the copyright?), and some consideration |
| of community that exists around the code. Include a listing of third-party libraries |
| and associated licenses. |
| --> |
| <p> |
| The component has been developed in <a |
| href="http://www.eclipse.org/e4/">e4</a>. All codes are hosted in |
| this project. |
| </p> |
| |
| <p> |
| The team of initial committers will migrate the solution from <a |
| href="http://www.eclipse.org/e4/">e4</a> and integrate the new |
| project in eclipse continue integration system first, and then |
| collects and explores new requirements for the future development. |
| </p> |
| <h2>Legal Issues</h2> |
| |
| <!-- |
| Please describe any potential legal issues in this section. Does somebody else |
| own the trademark to the project name? Is there some issue that prevents you |
| from licensing the project under the Eclipse Public License? Are parts of the |
| code available under some other license? Are there any LGPL/GPL bits that you |
| absolutely require? |
| --> |
| |
| <h2>Committers</h2> |
| |
| <!-- |
| List any initial committers that should be provisioned along with the |
| new project. Include affiliation, but do not include email addresses at |
| this point. |
| --> |
| |
| <p>The following individuals are proposed as initial committers to |
| the project:</p> |
| |
| <dl> |
| <dt>Yves Yang, proposed project lead</dt> |
| <dd>Yves is an e4 committer who worked on the initial |
| implementation of XWT.</dd> |
| <dt>Thomas Guiu, committer</dt> |
| <dd>Thomas is an EGF committer who contributes on the initial |
| implementation of XWT.</dd> |
| <dt>Erdal Karaca, committer</dt> |
| <dd>Erdal is an e4 contributor who worked on the initial |
| implementation of XWT.</dd> |
| </dl> |
| |
| <p>We welcome additional committers and contributions.</p> |
| |
| <!-- |
| Describe any initial contributions of code that will be brought to the |
| project. If there is no existing code, just remove this section. |
| --> |
| |
| <h2>Mentors</h2> |
| |
| <!-- |
| New Eclipse projects require a minimum of two mentors from the Architecture |
| Council. You need to identify two mentors before the project is created. The |
| proposal can be posted before this section is filled in (it's a little easier |
| to find a mentor when the proposal itself is public). |
| --> |
| |
| <p>The following Architecture Council members will mentor this |
| project:</p> |
| |
| <ul> |
| <li>John Arthorne</li> |
| <li>Kenn Hussey</li> |
| </ul> |
| |
| <h2>Interested Parties</h2> |
| |
| <!-- |
| Provide a list of individuals, organisations, companies, and other Eclipse |
| projects that are interested in this project. This list will provide some |
| insight into who your project's community will ultimately include. Where |
| possible, include affiliations. Do not include email addresses. |
| --> |
| |
| <p>The following individuals, organisations, companies and projects |
| have expressed interest in this project:</p> |
| |
| <ul> |
| <li>Soyatec</li> |
| <li>Thales</li> |
| <li>Google</li> |
| <li>CEA</li> |
| <li>Total Resource Management</li> |
| <li>Angelo zerr</li> |
| <li>Lai, Winnie</li> |
| <li>Istvan Benedek</li> |
| <li>Al Johnson</li> |
| </ul> |
| <ul> |
| <li>Papyrus</li> |
| <li>WindowBuilder</li> |
| <li>PMF</li> |
| </ul> |
| |
| <h2>Project Scheduling</h2> |
| |
| <!-- |
| Describe, in rough terms, what the basic scheduling of the project will |
| be. You might, for example, include an indication of when an initial contribution |
| should be expected, when your first build will be ready, etc. Exact |
| dates are not required. |
| --> |
| <p>The development plan of this project would be aligned with |
| Eclipse 4.3 plan. The first community technical release is scheduled |
| at autumn 2012 and the final release is targeted in June 2013.</p> |
| <h2>Changes to this Document</h2> |
| |
| <!-- |
| List any changes that have occurred in the document here. |
| You only need to document changes that have occurred after the document |
| has been posted live for the community to view and comment. |
| --> |
| |
| <table> |
| <tr> |
| <th>Date</th> |
| <th>Change</th> |
| </tr> |
| <tr> |
| <td>08-09-2012</td> |
| <td>Document created</td> |
| </tr> |
| </table> |
| </body> |
| </html> |