Objectifs
- Comprendre l’architecture RCP/OSGi
- Construire des IHM SWT/JFace
- Concevoir des plugins Eclipse performants
- Maitriser la distribution de l’application
Public
- Développeur
- Chef de projet
- Architecte logiciel
Pré-requis
- Connaissance de Java
Durée
4 jours
Plan de Formation
Introduction
- Ecosystème Eclipse, Eclipse Indigo
- L’interface d’Eclipse : le workbench, les perspectives, les vues et les éditeurs, les pages de préférences, launch configurations.
Architecture Eclipse
- Architecture OSGi : bundles, fragments, fichier MANIFEST.MF
- Architecture Eclipse : plugins, fragments, features, RCP, e4
- Extensions et points d’extension, fichier plugin.xml
- Le PDE : outil de développement de plugins
Standard Widget Toolkit (SWT)
- Présentation, comparaison avec AWT et Swing
- Les widgets simples et les containers (Button, Text, Group, …)
- Les widgets évolués : Tree, Table, …
- Les gestion des positions : les Layouts et LayoutData
- La gestion des ressources : Font, Color, Images.
- La gestion des événements : Events et Listeners
- Utilisation de Window Builder pour créer ses IHM
La librairie JFace
- Présentation de JFace
- Les viewers et le pattern MVC
- Input, Content et LabelProvider
- Registries : gestion des couleurs, fontes et images
- Widgets pour faciliter l’écriture des pages de préférences
Les points d’extensions standards
- Les vues, perspectives, préférences, properties et wizards
- Les commandes, handlers, menus et expressions
- Les adapter factories
- Les mécanismes d’aide en ligne (statique, contextuelle)
Les API standards
- Les classes principales : Runtime, Platform, Plugin, Logger …
- Les événements : sélection, synchronisation de vues…
- Le data binding, le drag and drop et le copier/coller
- Les Jobs et les UIJobs
- Les actions, opérations et commandes, gestion du undo/redo
- La gestion des ressources du workspace
Définir un nouveau point d’extension
- Principes, modélisation
- Définition, schéma, paramètres
- Codage java et extension du point d’extension
Rich Client Platform
- Mettre en place l’IHM : Advisors, Workbench, ActionBar …
- Création d’une configuration de produit, branding RCP
- Gestion de l’internationalisation
- De RCP à RAP (Rich Ajax Platform) : faire tourner son application RCP dans un navigateur web. Bonnes pratiques et single sourcing.
L’industrialisation et la livraison
- Feature, produit, repository P2
- La gestion des tests de l’application (noyau et IHM)
- Livraison manuelle de l’application
- Livraison multi plateforme avec le delta pack
- Introduction aux outils de livraison ‘headless’
Exercices
- Une quinzaine d’exercices illustrant les concepts sur le thème d’une agence de location


