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.
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
Now, it is proposed that XWT graduates progressively in an independent project to increase the visibility and to prevent any confusion with e4.
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..
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:
- 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.
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.
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.
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.
The following Architecture Council members will mentor this project:
- John Arthorne
- Kenn Hussey
The following individuals, organisations, companies and projects have expressed interest in this project:
- Total Resource Management
- Angelo zerr
- Lai, Winnie
- Istvan Benedek
- Al Johnson
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