Introduction
Positionnement d'Eclipse RCP dans la mouvance Client Riche et RDA (Rich Desktop Application)
Distinctions entre Eclipse, SWT, JFace et RCP
Comparaison par rapport à Swing
Une application RCP : un ensemble de plugins sur une base Eclipse
Une aide bien précieuse, le PDE (Plugin Development Environment)
Travaux Pratiques: Installation Eclipse, configuration d’un projet, personnaliser ses perspectives, prise en main de l’IDE
Prise en main d’Eclipse RCP
Créer un projet de Plugin Eclipse
Créer un premier écran Hello World
Exécuter et débugger une application RCP grâce au mode Eclipse self-hosted
Gérer les configurations de lancements
Afficher les logs et régler les niveaux de trace
Développement d'un plug-in
Contenu et structure d'un plugin Eclipse
Le cycle de développement des plugins
Utiliser les vues spécifiques du PDE
Complémentarité des manifestes MANIFEST.MF et plugin.xml
Les tests unitaires avec le PDE JUnit
Infrastructure Eclipse
Présentation du socle d'Eclipse (Equinox) et de la console OSGi
Différences entre les Bundles OSGI et les Plugins Eclipse
Définition d'une contribution à la plate-forme et présentation des possibilités
Les constituants d'une application RCP : le workbench, les éditeurs, les vues et les perspectives
Développement à base de contributions aux points d'extensions standards
Rendre ses développements extensibles en créant de nouveaux points d'extension
Choisir le bon niveau de granularité lors du développement de plugins
Dépendance des plugins
Gérer la multiplication du nombre de plugins dans votre application
Déclarer les dépendances entre plugins (obligatoires / optionnelles, transitives)
Régler la visibilité des classes Java des plugins
Principe de l'isolation des Classloaders
Export/import explicite des packages
Transformation de librairies tierces en plugins
Best practices à respecter dans les graphes de dépendances
SWT: Les composants graphiques d'Eclipse
Similarité et différences par rapport à Swing
Utilisation des widgets basiques Boutons, labels
Champs de saisie: champs texte, cases à cocher, radios, liste déroulante, ...
Barre d'outils, Navigateurs Web
Arbres, tableaux, listes et tableaux arborescents
Agencement des composants à l'aide du système de Layouts : FillLayout, GridLayout, ...
Gestion des événements graphiques (events) par Listeners (ex: ActionListener)
Illustration avec les 'SWT Examples'
Utilisation de fenêtres de saisie modales
Affichage de boites de dialogue à l'utilisateur
Edition WYSIWYG des écrans avec SWTDesigner
Alternative JFace
Limites de SWT et but de JFace
Faciliter l'affichage d'arbres et de tableaux avec le mécanisme de Viewer : TreeViewer et TableViewer
Améliorer les saisies utilisateur avec les assistants Field Assists
Les fenêtres de dialogue complémentaires
Création d'un Wizard / Assistant multi-pages
Gestion automatisée des préférences utilisateur
Affichage de texte riche
S'intégrer à l'infrastructure Eclipse
Créer et déclarer un Editeur (Editor)
Créer et déclarer une Vue (View) dans une perpective
Créer et déclarer une Perspective
Contribuer sous forme d'entrées de menu ou de boutons: les Actions
Lier la Vue à un état particulier du Workbench: SelectionProviders et SelectionListeners
Lier l'éditeur à des Vues possiblement ouvertes (type Outline)
Créer une application multilingue (i18n)
Mettre en place des raccourcis clavier
Utilisation des FastView
Packager et livrer une application
Présentation du mécanisme de Feature
Création d'un produit (Product)
Packaging de l'application RCP sous la forme d'un livrable à l'aide du P