blob: 11a037babdcfc1325e480b1b7378a33b0602cf90 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<link href="../../book.css" rel="stylesheet" type="text/css" />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Project</title>
</head>
<body>
<h1>Project</h1>
<ul>
<li><a href="#project_01">What is XWT?</a></li>
<li><a href="#project_02">Benefices of XWT for eclipse</a></li>
<li><a href="#project_03">Architecture</a></li>
</ul>
<h3><a name="project_01"></a>What is XWT?</h3>
<p>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:</p>
<ul>
<li>High technology pre-requisite 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 development tools </li>
</ul>
<p align="center"><img src="images/XWTPosition.png" width="800" height="435"></p>
<p>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.</p>
<p>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.</p>
<p align="center"><img src="images/XWTComponent.png" width="627" height="388"></p>
<p>XWT is XML UI for eclipse.</p>
<ul>
<li>XWT is a XML dialect</li>
<li>Designed for human-editable and tooling</li>
<li>Dynamic mapping with programming model</li>
<li>Complete declarative UI framework integrated natively with SWT/JFace</li>
<li>Powerful Declarative Data Binding solution on top of JFace data binding</li>
<li>Reusable data presentation component</li>
</ul>
<h3><a name="project_02"></a>Benefices of XWT for eclipse</h3>
<p>The main benefices of XWT are following:</p>
<ul>
<li>More human-readable and light-weight markup without ambiguity
between properties and child type</li>
<li>High Extensible</li>
<li>Well defined and complete specification</li>
<li>Mature and Generic Declarative UI solution</li>
</ul>
<h3><a name="project_03"></a>Architecture</h3>
<div align="center"><img src="images/architecture.png" />
</div>
<ul>
<li>SWT Model as XWT Model<br />
- This model comes from the JavaBean reflection and additional models
to enhance the limitations of SWT API.</li>
<li>This model can be changed to another</li>
<li>XWT provides more concepts on top of XML<br />
<ul>
<li>Resource separation between UI and Event handling</li>
<li>Dynamic mapping with UI Model and programming language</li>
<li>Resource management</li>
<li>Markup extensions</li>
<li>Binding expression language</li>
</ul>
</li>
</ul>
</body>
<p><img src="../../cpy.png" /></p>
</html>