XWT

The project has been created.

XWT

The XWT project is a proposed open source project under the Technology Container Project.

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 Eclipse Proposals Forum.

Background

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:

  • High technology prerequisite as UI developer
  • Difficult to separate UI appearance and business logic
  • Poor reusability
  • Limitation of the dynamic UI support
  • Very hard to integrate with develop tools

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.

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:

  • Rapid Development
  • Easy Maintenance
  • Easy form validation
  • Reusability

Now, it is proposed that XWT graduates progressively in an independent project to increase the visibility and to prevent any confusion with e4.

Scope

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..

Description

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:

  • SWT
  • JFace
  • Data binding
  • eclipse forms

A first integration with eclipse workbench 3.x/4.x has been implemented.

XWT has been bundled in Papyrus to define the Properties View for each UML element. And WindowBuilder has provided the visual edition capability for XWT. It has been used by PMF to valid the MDE solution for eclipse in a prototype.

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.

Why Eclipse?

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.

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.

Initial Contribution

The component has been developed in e4. All codes are hosted in this project.

The team of initial committers will migrate the solution from e4 and integrate the new project in eclipse continue integration system first, and then collects and explores new requirements for the future development.

Legal Issues

Committers

The following individuals are proposed as initial committers to the project:

Yves Yang, proposed project lead
Yves is an e4 committer who worked on the initial implementation of XWT.
Thomas Guiu, committer
Thomas is an EGF committer who contributes on the initial implementation of XWT.
Erdal Karaca, committer
Erdal is an e4 contributor who worked on the initial implementation of XWT.

We welcome additional committers and contributions.

Mentors

The following Architecture Council members will mentor this project:

  • John Arthorne
  • Kenn Hussey

Interested Parties

The following individuals, organisations, companies and projects have expressed interest in this project:

  • Soyatec
  • Thales
  • Google
  • CEA
  • Total Resource Management
  • Angelo zerr
  • Lai, Winnie
  • Istvan Benedek
  • Al Johnson
  • Papyrus
  • WindowBuilder
  • PMF

Project Scheduling

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.

Changes to this Document

Date Change
08-09-2012 Document created