Eclipse RCP
La plateforme Eclipse
UI Workbench
Le workbench d'Eclipse offre des composants graphiques ou fenêtres pouvant être utilisés dans les applications riches. Ce sont les perspectives, vues et éditeurs qui permettent d'organiser l'information à afficher à l'utilisateur et hiérarchiser les données entre elles avec un graphique plaisant.
- Perspectives : une perspective contient un ensemble de vues et d'éditeurs. Elles permettent d'organiser les éléments graphiques dans des zones logiques différentes. Par exemple, dans l'IDE Eclipse, il existe deux perspectives, l'une pour le développement et l'autre pour le debug. Les données sont les mêmes mais la différence entre aux est une organisation différente des éléments graphiques et des vues et des éditeurs pouvant être différents.
- Vues : la vue permet d'afficher des informations à l'écran avec la possibilité de les détacher , de les regrouper, de les redimensionner ou de les docker. Il est également possible d'interagir (action) au besoin en cliquant sur les éléments graphiques.
- Editeurs : l'éditeur est une vue qui a toutes les fonctionnalités décrites ci-dessus mais ajoute en plus la possibilité d'éditer du texte, des formulaires ou du graphique.
Il faut au moins avoir une perspective dans toute application RCP comme conteneur général pour les vues et les éditeurs

OSGI Framework
Le modèle de plug-in dynamique d'Eclipse est une implémentation basée sur le framework OSGI. Les composants dans le framework OSI sont appellés bundle qui sont clairement définis, manipulables et associable entre-eux . Chaque plug-in est représenté comme un bundle dans Eclipse.
Si on affiche un manifest d'un plug-in d'Eclipse on retrouve les informations suivantes :
Bundle-Name: EclipseRcpPlugin Plug-in Nom du plug-in
Bundle-SymbolicName: EclipseRcpPlugin; singleton:=true ID du plug-in
Bundle-Version: 1.0.0 Version du plug-in
Bundle-Activator: eclipseRcpPlugin.EclipseRcpPluginPlugin Classe du plug-in
Require-Bundle: org.eclipse.ui, Autres plug-in nécessaires
org.eclipse.core.runtime
SWT / JFace
- SWT (Standard Widget Toolkit) est une librairie graphique faite pour java, développée au moment de le création du projet Eclipse. A l'époque, le choix a été fait pour palier au manque de rapidité d'exécution par rapport à Swing/AWT (qui n'est plus le cas aujourd'hui). Les composants graphiques sont disponibles tels que les labels, boutons, panel, zone de texte... et également une implémentation native et intégrée à chaque système d'exploitation. Il existe des layouts spécifiques et propres à SWT.
- JFace est une surcouche à SWT et fournit des composants graphiques de plus haut niveau afin de faciliter la création de composants graphiques. Il offre notamment la possibilité de créer des wizards, des fenêtres de préférence, des actions... L'architecture de JFace est basée sur le design pattern MVC et une réutilisation facile et rapide des éléments graphiques qu'il fournit.
Il est possible de contourner l'utilisation de SWT dans le développement d'applications riches et d'ajouter des composant Swing/AWT même si cela reste plus compliqué et non recommandé par Sun.
Architecture générale
Dans l'architecture,
certains composants sont indispensables dans le framework RCP et la
création d'applications clientes. En revanche, d'autres
éléments sont optionnels et peuvent
être ajoutés séparément au
besoin de l'utilisateur.
L'application riche finale repose sur tous ces composants sous-jacents lié au framework RCP.
L'application riche finale repose sur tous ces composants sous-jacents lié au framework RCP.