Improve Foudations Improve Technologies Improve Community Improve Institute

Un lieu de discussion sur la vie de l’atelier et les idées que vous pouvez avoir concernant ses projets.
Pour ajouter une idée, créez une nouvelle page. Pour commenter une idée, entrez dans la page et utilisez la zone discussion.

Atelier Moni - Boîte à idées






Un framework pour la description d’applications RCP en XML

Il s’agit de pouvoir décrire l’essentiel d’une application RCP en XML et de coder les cas particuliers en utilisant l’API RCP classique (SWT). A terme, j’imagine la plateforme RCP avec un plugin capable d’interpréter du flux XML reçu d’un serveur d’application. A ce moment là, on fera du vrai client riche.


Cela revient à créer l’équivalent de Struts-Layout pour Eclipse RCP afin de simplifier et d’augmenter la productivité du développement.

Démarche

  1. étude des besoins ergonomiques (de quoi sont constituées les applis de gestion du point de vue IHM)
  2. étude des solutions existantes (voir comment on répond à ces besoins en Swing, SWT, HTML, Struts-Layout, XUL, XAML...)
  3. définition du langage de description d’IHM “idéal” (en s’inspirant du résultat des 2 activités précédentes et en visant la productivité des développements)
  4. implémentation de ce langage avec SWT (pour créer des applis RCP)

Le choix d'XML

Je suis toujours méfiant par rapport à l’utilisation d’XML pour développer mais je suis en même temps convaincu que c’est la façon la plus productive pour décrire des IHM.

Aujourd’hui, il existe des moyens de faire du SWT en XML (ex : XSWT) mais ces solutions ne s’affranchissent pas des caractéristiques et des contraintes de SWT. Je souhaiterais qu’on prenne le problème dans l’autre sens, en repartant des besoins pour aboutir à un langage “hautement productif” et accessible à des développeurs fonctionnels.

Une attention particulière doit être apportée à la simplicité. Le code XML doit être facilement compréhensible et rester proche d’une description de l’écran. Pour illustrer cette idée, voici le genre de code que j’imagine pour la description d’une application :

<window>
	<perspective id="perspective1" name="...">
		<view position="left">
			<table model="MyTableModel">
				<column title="..." width="100"/>
				<column title="..." width="30"/>
			</table>
		</view>
		<view position="center">
			<form title="..." model="MyBean" controller="MyControler">
				<column>
					<field property="..."/>
					<field property="..." onValueChanged="javaMethod"/>
				</column>
				<column>
					...
				</column>
				<buttonZone position="bottom">
					<button action="cancel" title="..."/>
					<button action="save" title="..."/>
				</buttonZone>
			</form>
		</view>
	</perspective>
</window>

Pour l’instant, ce n’est évidemment qu’une vue de l’esprit...


Constituer une bibliothèque de composants évolués SWT/JFace/RCP

Il faudrait trouver et/ou développer des composants qui soient adaptés à l’informatique de gestion et faciles à utiliser par les développeurs.


D’après mon expérience de l’utilisation de Swing, je suis convaincu qu’un ensemble de composants qui constituent une sur-couche aux bibliothèques standard sont un levier efficace dans le développement d’applications. Leur but est d’apporter des fonctionnalités qui sont souvent demandées par les utilisateurs (tri, filtre, contrôle, assistance, impression...) et de simplifier les tâches de développement pour gagner en productivité et maintenabilité (code réduit et plus homogène). Bien que les bibliothèques standard aient un peu évolué en ce sens, elles sont souvent insuffisantes.

Il convient donc :

  • de regarder ce qui existe par ailleurs pour satisfaire ce besoin
  • de développer les composants qui n’existeraient pas encore.

Remarque : un composant SmartTable a été créé dans le cadre du prototype Kiabi. Il pourrait servir de base à un composant table réutilisable (à étudier).


Travailler sur l'intégration dans Eclipse d'applications hétérogènes

Pour préparer l’implémentation du bureau métier, il faut expérimenter les moyens d’intégrer des applications de différentes natures (web, riche, bureautique, etc...)


Types d'applications

Les types d’applications à considérer sont :

  • web
  • bureautique
  • mode caractère
  • client mail
  • messagerie instantanée
  • cient/serveur (Swing, VB...)
  • clients riches (RCP, XUL...)

Pistes de mise en oeuvre

SWT permet d’intégrer des ActiveX et des documents OLE. Eclipse contient déjà des éditeurs sur différents types de fichiers.

 
moni/idees.txt · Last modified: 2006/01/13 17:09