Home
Add Document
Sign In
Register
S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction , Frédéric Peschanski
Home
S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction , Frédéric Peschanski
1 S T L - C P S - L e s p l u g i n s E c l i p s e - Une Introduction , Frédéric Peschanski2 L a p l a t e f o r m e E c l i p s e Aper...
Author:
Chantal Pépin
0 downloads
21 Views
380KB Size
Report
DOWNLOAD PDF
Recommend Documents
No documents
STL-CPS -
Les plugins Eclipse
- Une Introduction © 2007, Frédéric Peschanski
La plateforme Eclipse ●
Aperçu de la plateforme
●
Eclipse Runtime –
●
Plugins Development Environment –
●
Extensions ActionSets et View (Swt/JFace)
Workspace interfaces/objets –
●
Composants OSGI “Equinoxe”
Platform, PluginRegistry, Selection service, etc.
Quoi encore ? –
features, builder, markers, natures, etc.
Architecture de la plateforme
Platform runtime org.eclipse.osgi org.eclipse.core.runtime –
Définition du modèle de plugin
–
Gestion du registre des plugins:
–
–
●
déploiement (archive)
●
installation/désinstallation
Découverte automatique ●
Chargement/déchargement à la demande
●
Résolution dynamique des dépendances
Implémentation ●
Bundle OSGI (sorte de “super jar”)
Workspace ●
Gestion des ressources –
–
Création, chargement, sauvegarde ●
Projets
●
Fichiers
●
Répertoires
●
Autres types de ressources (extensible)
connexion avec le système de fichier ●
répertoire workspace
Workbench (UI) org.eclipse.ui.workbench ●
Implémentation du modèle d'interface utilisateur –
basé sur SWT: toolkit “portabilité native”
–
et JFace: framework MVC: Vues et Editeurs
–
Points d'extension Eclipse
–
●
ActionSet (menus et actions)
●
Views (vues)
●
etc.
Rich client Platform: ●
Sous-ensemble du workbench
Interface du Workbench
Framework OSGI ●
OSGI orienté service –
bundle = implémenation modulaire et portable de service(s) ●
–
services de base: ●
●
composants binaires installation/désinstallation, chargement/activation dynamique, découverte, log, etc.
Utilisation dans Eclipse –
découverte de Plugin
–
chargement à la demande (déchargement ?)
–
résolution des inter-dépendances ●
chargement éventuel de plugins requis
Cycle de vie des Bundle OSGI
Installed
Starting
start
Resolved
Active stop
Uninstalled
Stopping
Demo 1 : console OSGI
Plugin Eclipse ●
●
Composant structuré –
descriptif de bundle OSGI (manifest MANIFEST.MF)
–
descriptif de plugin Eclipse (manifest plugin.xml)
–
code d'implémentation du plugin (généralement en Java)
Environnement de développement PDE –
code d'implémentation Java (JDT)
–
configuration (manifest.mf, plugin.xml, etc.)
–
packaging (création d'un jar)
Eclipse SDK
Points d'extension et extensions ●
●
Point d'extension –
point d'ancrage dans plugins
–
le “provide” des composants
–
ressemble à la déclaration d'une interface mais description en XML
Extension –
greffon attaché à un point d'extension
–
le “require” des composants
–
ressemble à une liaison entre une interface et une implémentation (description XML)
Liaison
Plugin A
●
Extension
(provide)
(require)
Plugin B
Liaison statique –
●
Extension Point
définie dans plugin.xml ●
... pour le fournisseur
●
... pour le requiérant
Chargement dynamique –
si chargement nécessaire de Plugin B
–
chargement automatique de plugin A
Etendre Eclipse ●
Plugin contributions –
●
extension de points d'extension “standards” des plugins de base d'Eclipse ●
Points d'extension du workspace
●
Points d'extension du workbench
●
etc.
Plugin contributeur –
propose de nouveaux points d'extension pour d'autres plugins
Points d'Extension du Workbench
Catégories de contributions ●
Action Set –
●
Views –
●
affichage d'information
Editors –
●
menus, popup menus, etc.
édition d'information
Perspectives –
Assemblage d'actions, de vues et d'éditeurs pour supporter un processus global (ex. perspective Java rédiger du code Java)
Catégories de contributions (2) ●
Wizards –
●
Pages de préférences –
●
idem pour les ressources (local)
Builders, Markers, Natures –
●
interface de paramétrage du plugin (global)
Pages de propriétés –
●
Suite ordonnée de dialogues pour réaliser une tâche
extensions au niveau projet
etc !
Exemple: Plugins Timer/Clock ●
Plugin Timer –
Extension du workbench “Action sets” ●
–
Point d'extension: ●
●
ajout d'un menu dans la barre de menus permet l'enregistrement de tâche répétitives ou à déclencher de façon retardée (mini-cron)
Plugin Clock –
Extension du workbench “View” ●
–
ajout d'une vue
Extension du Timer ●
si actif, se réveille toutes les secondes
Demo 2 : plugins Timer/Clock
Liens utiles ●
Eclipse –
●
http://www.eclipse.org
OSGI –
http://www.osgi.org/
–
eclipse equinoxe ●
●
http://www.eclipse.org/equinoxe
Développement de plugins
http://www.instantiations.com/EclipseWorld2007/CommercialQualityPlugins07.pdf
×
Report "S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction , Frédéric Peschanski"
Your name
Email
Reason
-Select Reason-
Pornographic
Defamatory
Illegal/Unlawful
Spam
Other Terms Of Service Violation
File a copyright complaint
Description
×
Sign In
Email
Password
Remember me
Forgot password?
Sign In
Login with Facebook
Login with Google
Our partners will collect data and use cookies for ad personalization and measurement.
Learn how we and our ad partner Google, collect and use data
.
Agree & close