Skip to main content
Jump to: navigation, search

Difference between revisions of "Wazaabi/CreationReview"

(fixed the git link)
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
== Introduction ==
  
 +
Wazaabi is a proposed open source project under the [http://www.eclipse.org/modeling/emft/ EMFT] project.
  
 +
This proposal is in the Project Pre-Proposal Phase (as defined in the [http://www.eclipse.org/projects/dev_process/ Eclipse Development Process] document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment and/or join the project. Please send all feedback to the [http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.emft emft newsgroup].
  
== Reorganization of builds and downloads ==  
+
== Background ==
  
As there is currently no official release of PMF there is no reorganization of downloads to plan.
+
Wazaabi was initially part of [http://www.eclipse.org/pmf PMF].
Wazaabi will have its own job on eclipse hudson shared instance and use it for continuous integration.
+
PMF project has not been very active since its creation:
  
== Release policy ==
+
* No release
 +
* Project web page quite empty with broken links
 +
* Limited communication
  
In opposition to PMF, Wazaabi will try to release frequently following the [http://www.eclipse.org/egit EGit] example.
+
This inactivity could be in part explained by the limited availability of its project leader and this inertness prevented the planned work on Wazaabi technology.
The participation to the release train is not planned until the graduation of the project.
+
To enable wazaabi to grow, we propose to create a project dedicated to it.
 
+
== Scheduling ==
+
 
+
hehe
+
  
 
== Scope ==
 
== Scope ==
  
 
Writing Graphical User Interfaces (GUI) is time and effort consuming, and when they have to evolve, doing changes could become quickly a nightmare.
 
Writing Graphical User Interfaces (GUI) is time and effort consuming, and when they have to evolve, doing changes could become quickly a nightmare.
Hand-writing code for GUI is complex as the code is spread over several source files and their relationship is not always obvious. By using a visual designer, the programmer avoids writing boilerplate code, but semantic information remains stored at the source code level. A model-based approach help to raise the level of abstraction. To avoid generation and deployment additionally steps models could be interpreted enabling one to modify rapidly and easily user interfaces.
+
Hand-writing code for GUI is complex as the code is spread over several source files and their relationship is not always obvious. By using a visual designer, the programmer avoids writing boilerplate code, but semantic information remains stored at the source code level. A model-based approach help to raise the level of abstraction. To avoid generation and deployment additionally steps, models are interpreted, enabling designers to modify quickly user interfaces.
  
 
Objectives of Wazaabi are the following:
 
Objectives of Wazaabi are the following:
Line 25: Line 26:
 
*Provide an easy to use framework to build UIs by defining a set of UI models
 
*Provide an easy to use framework to build UIs by defining a set of UI models
 
*Provide an easy way to bind UI models to real life domain models by supporting data binding
 
*Provide an easy way to bind UI models to real life domain models by supporting data binding
*Provide rendering engines interpreting UI models and syncing with real UI on several platforms, including SWT, Swing, Ajax, GWT…
+
*Provide rendering engines interpreting UI models and syncing with real UI on several platforms, including SWT, Swing, Ajax platforms (RAP, GWT, Vaadin…)
 
*Provide a set of tools for designing, comparing, merging, testing and documenting UI models
 
*Provide a set of tools for designing, comparing, merging, testing and documenting UI models
  
Line 48: Line 49:
 
=== Multiplatform ===
 
=== Multiplatform ===
  
SWT is the widget toolkit on which is built Eclipse IDE, but it is not the only one available for building UIs. Wazaabi will provide rendering engines for SWT, Swing, Ajax, GWT, etc...
+
SWT is the widget toolkit on which Eclipse IDE is built, but it is not the only one available for building UIs. Wazaabi will provide rendering engines for SWT, Swing, Ajax, GWT, etc...
  
 +
[[Image:WazaabiLayers.png]]
  
 
=== Tools ===
 
=== Tools ===
Line 55: Line 57:
 
Wazaabi will provide a range of tools to assist designers during all the process of building and maintaining UIs. Visual design, facilitator for a good code-model interaction, version management, documentation, test building, etc...
 
Wazaabi will provide a range of tools to assist designers during all the process of building and maintaining UIs. Visual design, facilitator for a good code-model interaction, version management, documentation, test building, etc...
  
== Committers List ==
+
[[Image:WazaabiComponents.png]]
  
The following individuals are proposed as initial committers to the project:
+
== Version control system and source code location  ==
 +
 
 +
The code of Wazaabi is currently hosted on cvs in PMF projet:
 +
 
 +
cvs://dev.eclipse.org/cvsroot/modeling/org.eclipse.pmf/integration/wazaabi
 +
 
 +
Wazaabi will use git, and the code is hosted at the following location:
 +
 
 +
git://git.eclipse.org/gitroot/wazaabi/org.eclipse.wazaabi.git
 +
 
 +
== Release policy ==
  
* Olivier Moïses, Generic Concept, lead
+
Wazaabi will try to release frequently following the [http://www.eclipse.org/egit EGit] example. The participation to the release train is not planned until the graduation of the project.
  
 
== Relationship with other Eclipse Projects ==
 
== Relationship with other Eclipse Projects ==
Line 68: Line 80:
 
*The SWT Engine is built on top of [http://www.eclipse.org/swt SWT] & Jface
 
*The SWT Engine is built on top of [http://www.eclipse.org/swt SWT] & Jface
 
*Architect, the graphical Wazaabi modeler is built on top of [http://www.eclipse.org/gef GEF]
 
*Architect, the graphical Wazaabi modeler is built on top of [http://www.eclipse.org/gef GEF]
*The [http://wiki.eclipse.org/E4/UI/Toolkit_Model E4 Toolkit Model] was developed in parallel with Wazaabi, to get essentially the same ideas into e4. Now that Wazaabi is fully open source, it could make sense to try to merge them.
+
*The [http://wiki.eclipse.org/E4/UI/Toolkit_Model E4 Toolkit Model] was developed in parallel with Wazaabi, to get essentially the same ideas into e4. It could make sense to try to merge them.
 +
 
 +
[http://www.eclipse.org/sapphire/ Sapphire] and Wazaabi have several differences even if they try to ease the creation of user interfaces:
 +
 
 +
* Sapphire is not based on eclipse modeling stack
 +
* Sapphire does not use live (EMF) models for the user interface
 +
 
 +
== Committers ==
 +
 
 +
The following individuals are proposed as initial committers to the project:
 +
 
 +
* [mailto:olivier@generic-concept.com Olivier Moïses], Generic Concept, lead
 +
* [mailto:hal@idi.ntnu.no Hallvard Trætteberg], Norwegian University of Science and Technology
 +
* [mailto:gregoire.dehemptinne@euranova.eu Grégoire de Hemptinne], Euranova
 +
* [mailto:namluc.tran@euranova.eu Nam-Luc Tran], Euranova
 +
 
 +
== Mentors ==
 +
 
 +
The following Architecture Council members will mentor this project:
 +
 
 +
* Ed Merks
 +
 
 +
* Cedric Brun, [http://www.obeo.fr Obeo]
 +
 
 +
 
 +
== Interested Parties ==
 +
 
 +
The following individuals, organizations, companies and projects have expressed interest in this project:
 +
 
 +
* [http://euranova.eu/ Euranova], Sabri Skhiri
 +
* [http://www.idi.ntnu.no/ Norwegian University of Science and Technology], Department of Computer and Information Science, Hallvard Trætteberg
 +
* [http://www.obeo.fr Obeo] , Goulwen Le Fur
 +
* [http://www.proxiad.com Proxiad], Cedric Vidal
 +
* [http://www.ulb.ac.be/ Université Libre de Bruxelles], Faculty of Applied Sciences, Esteban Zimanyi
 +
* [http://avlditest.com/ AVL DiTEST], Tom Seidel

Latest revision as of 02:55, 29 March 2013

Introduction

Wazaabi is a proposed open source project under the EMFT project.

This proposal is in the Project Pre-Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment and/or join the project. Please send all feedback to the emft newsgroup.

Background

Wazaabi was initially part of PMF. PMF project has not been very active since its creation:

  • No release
  • Project web page quite empty with broken links
  • Limited communication

This inactivity could be in part explained by the limited availability of its project leader and this inertness prevented the planned work on Wazaabi technology. To enable wazaabi to grow, we propose to create a project dedicated to it.

Scope

Writing Graphical User Interfaces (GUI) is time and effort consuming, and when they have to evolve, doing changes could become quickly a nightmare. Hand-writing code for GUI is complex as the code is spread over several source files and their relationship is not always obvious. By using a visual designer, the programmer avoids writing boilerplate code, but semantic information remains stored at the source code level. A model-based approach help to raise the level of abstraction. To avoid generation and deployment additionally steps, models are interpreted, enabling designers to modify quickly user interfaces.

Objectives of Wazaabi are the following:

  • Provide an easy to use framework to build UIs by defining a set of UI models
  • Provide an easy way to bind UI models to real life domain models by supporting data binding
  • Provide rendering engines interpreting UI models and syncing with real UI on several platforms, including SWT, Swing, Ajax platforms (RAP, GWT, Vaadin…)
  • Provide a set of tools for designing, comparing, merging, testing and documenting UI models

Description

In this section we describe the main components of the Wazaabi project in details.

UI models

In the domain of user interfaces, the designer has to perform recurrent actions, like structural changes, comparison or merge of screens, documentation etc. Dealing with lines of source code instead of UI artifact implies significant overhead and leads to increase development and maintenance costs. In other words, model-based approach avoids dilution of semantic concepts in source code. Wazaabi provides not only a set of models for describing UI parts, but also methods to model the most common pattern the designer faces.

Data-binding

Once the description of the UI is completed, graphical components must be linked or bound to underlying business objects. Wazaabi proposes an additional model for supporting bindings between business-tier models and UI models. The binding model can be represented as a process in order to transform business-tier data.

The engines and the live models

Wazaabi does not follow the traditional MDA approach consisting in model to code generation cycles. There is no code generation, instead it is based on model interpretation aka live models. Changes in the model do not require explicit regeneration, rebuild, retest, and redeploy steps. This will lead to a significant shortening of the turnaround time. The model is available at runtime it is even possible to change the model without stopping the running application.

Live models reduce the distance between design and running times. The Engines are the Wazaabi components able to render a UI model for particular target UI technology. It is important to note that the engines track and reflect not even changes from the model to the UI but also from UI to model due for instance to user input.

Multiplatform

SWT is the widget toolkit on which Eclipse IDE is built, but it is not the only one available for building UIs. Wazaabi will provide rendering engines for SWT, Swing, Ajax, GWT, etc...

WazaabiLayers.png

Tools

Wazaabi will provide a range of tools to assist designers during all the process of building and maintaining UIs. Visual design, facilitator for a good code-model interaction, version management, documentation, test building, etc...

WazaabiComponents.png

Version control system and source code location

The code of Wazaabi is currently hosted on cvs in PMF projet:

cvs://dev.eclipse.org/cvsroot/modeling/org.eclipse.pmf/integration/wazaabi

Wazaabi will use git, and the code is hosted at the following location:

git://git.eclipse.org/gitroot/wazaabi/org.eclipse.wazaabi.git

Release policy

Wazaabi will try to release frequently following the EGit example. The participation to the release train is not planned until the graduation of the project.

Relationship with other Eclipse Projects

  • Wazaabi will be a sub-project of PMF
  • Wazaabi uses EMF on the domain side.
  • Wazaabi is built on top of Equinox for the osgi version
  • The SWT Engine is built on top of SWT & Jface
  • Architect, the graphical Wazaabi modeler is built on top of GEF
  • The E4 Toolkit Model was developed in parallel with Wazaabi, to get essentially the same ideas into e4. It could make sense to try to merge them.

Sapphire and Wazaabi have several differences even if they try to ease the creation of user interfaces:

  • Sapphire is not based on eclipse modeling stack
  • Sapphire does not use live (EMF) models for the user interface

Committers

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

Mentors

The following Architecture Council members will mentor this project:

  • Ed Merks


Interested Parties

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

Back to the top