# Project

- What is XWT?
- Benefices of XWT for eclipse
- Architecture

### What is XWT?

Declarative UI is a new programming paradigm, which is widely used in Web application development. In Eclipse, UI development in Java is the only proposed solution. This solution presents several drawbacks:

- High technology pre-requisite as UI developer
- Difficult to separate UI appearance and business logic
- Poor reusability
- Limitation of the dynamic UI support
- Very hard to integrate with development tools

XWT is designed specially for eclipse to resolve these problems by providing a foundation infrastructure. It is a UI framework based on an extensible markup language for application development in declarative programming paradism. It adopts directly SWT/JFace UI model as XML serialization model. It uses in fact a direct mapping approach between XML grammar and UI runtime libraries.

XWT simplifies UI programming. You can create visible UI elements in the declarative XML markup with a physical separation of the UI definition from the run-time logic. An XML based declarative language is very intuitive for creating interfaces ranging from prototype to production, especially for people with a background in web design and technologies. Unlike most other markup languages, XWT directly represents the instantiation of managed objects.

XWT is XML UI for eclipse.

- XWT is a XML dialect
- Designed for human-editable and tooling
- Dynamic mapping with programming model
- Complete declarative UI framework integrated natively with SWT/JFace
- Powerful Declarative Data Binding solution on top of JFace data binding
- Reusable data presentation component

### Benefices of XWT for eclipse

The main benefices of XWT are following:

- More human-readable and light-weight markup without ambiguity between properties and child type
- High Extensible
- Well defined and complete specification
- Mature and Generic Declarative UI solution

### Architecture

- SWT Model as XWT Model
  - This model comes from the JavaBean reflection and additional models to enhance the limitations of SWT API.
- This model can be changed to another
- XWT provides more concepts on top of XML
  - Resource separation between UI and Event handling
  - Dynamic mapping with UI Model and programming language
  - Resource management
  - Markup extensions
  - Binding expression language