Le core d'exécution de la plateforme implémente le moteur d'exécution qui démarre la base de la plateforme et découvre les plug-ins de manière dynamique. Un plug-in est un composant structuré, se décrivant lui-même au système à l'aide d'un fichier manifeste (plugin.xml). La plateforme conserve un registre des plug-ins installés et des fonctions qu'ils procurent.
Une fonction est ajoutée au système à l'aide d'un modèle d'extension courant. Les points d'extension sont des points de fonction bien définis dans le système qui peuvent être étendus par des modules d'extension (plug-in). Lorsqu'un plug-in contribue à l'implémentation d'un point d'extension, on dit qu'il ajoute une extension à la plateforme. Les plug-ins peuvent définir leurs propres points d'extension, de telle sorte que d'autres plug-ins puissent s'intégrer étroitement à eux.
Les mécanismes d'extension sont les seuls moyens d'ajouter une fonction à la plateforme et d'autres plug-ins. Tous les plug-ins utilisent les mêmes mécanismes. Ceux fournis avec SDK Eclipse n'utilisent pas de mécanisme privé dans leur implémentation.
Les extensions sont généralement écrites en langage Java à l'aide des API de la plateforme. Cependant, certains points d'extension arrangent les extensions fournies comme exécutables de la plateforme, composants ActiveX ou développées en langages de rédaction de script. En règle générale, seul un sous-ensemble de la fonction totale de la plateforme est disponible pour les extensions non Java.
Un but global de l'exécution consiste à faire en sorte que l'utilisateur final ne soit pas pénalisé en matière de performances ou de capacité mémoire par les plug-ins installés, mais non utilisés. Un plug-in peut être installé et ajouté au registre, mais n'est pas activé tant qu'une fonction fournie par le plug-in n'est pas demandée en fonction de l'activité de l'utilisateur.
Le meilleur moyen d'appréhender le système d'exécution est de générer un plug-in. Pour une initiation à la construction d'un plug-in, reportez-vous à Exemple de plug-in simple.
Le plug-in de gestion des ressources définit un modèle de ressources commun pour la gestion des artefacts de plug-ins d'outils. Les plug-ins peuvent créer et modifier des projets, des dossiers et des fichiers, et définir des types de ressources spécialisés.
La section Présentation des ressources fournit une explication du système de gestion des ressources.
Le module d'extension (plug-in) de l'interface utilisateur du plan de travail implémente l'interface utilisateur du plan de travail et définit un certain nombre de points d'extension qui permettent aux autres plug-ins de contribuer aux actions du menu et de la barre d'outils, aux opérations de glisser-déposer, aux boîtes de dialogue, aux assistants et aux vues et éditeurs personnalisés.
La section Connexion au plan de travail introduit les points d'extension et les API de l'interface utilisateur du plan de travail.
Le module d'extension de l'interface utilisateur du plan de travail fournit également des structures utiles au développement de l'interface utilisateur. Celles-ci sont utilisées pour développer le plan de travail lui-même. Leur utilisation facilite non seulement le développement de l'interface utilisateur d'un plug-in, mais garantit aussi que les plug-ins ont une présentation commune et un niveau de cohérence pour l'intégration du plan de travail.
Standard Widget Toolkit (SWT) est un ensemble d'outils de développement de bas niveau, indépendant du système de développement qui supporte l'intégration à la plateforme et des API transférables. Il est décrit à la section Standard Widget Toolkit.
La structure de l'interface utilisateur JFace fournit des constructions d'application de haut niveau permettant de prendre en charge les boîtes de dialogue, les assistants, les actions, les préférences utilisateur et la gestion des widgets. Les fonctionnalités contenues dans JFace sont décrites aux sections suivantes : Boîtes de dialogue et assistants, Préférences et propriétés et Structure de l'interface utilisateur JFace.
Le module d'extension de l'Aide met en oeuvre un serveur Web d'aide, optimisé pour une plateforme et des capacités d'intégration de documents. Il définit des points d'extension que les plug-ins peuvent utiliser pour participer à l'aide ou à d'autres documents utilisant des plug-ins, tels que des manuels consultables en ligne. Le serveur Web de documentation comporte des fonctions spéciales qui permettent aux plug-ins de faire référence à des fichiers à l'aide d'URL logiques, basées sur les plug-ins, et non à des URL de système de fichiers.
Des fonctionnalités supplémentaires sont fournies pour l'intégration des rubriques d'aide aux configurations de la documentation du produit.
La fonction d'aide est décrite à la section Plug-in d'aide.
Les plug-ins de gestion de la version et de la configuration (VCM) définissent un modèle de gestion des versions et de programmation coopérative des ressources de la plateforme. SDK Eclipse inclut des versions antérieures de l'API VCM et des adaptateurs qui mappent le modèle VCM sur un référentiel et des outils de gestion des versions coopérative bien connus. L'API pour VCM étant en constante évolution, elle n'est pas abordée dans ce guide de programmation.
Les plug-ins des outils de développement Java (JDT) étendent le plan de travail de la plateforme en procurant des fonctions spécialisées pour l'édition, la visualisation, la compilation, le débogage et l'exécution du code Java.
JDT est installé sous la forme d'un ensemble de plug-ins inclus dans SDK. Le manuel "JDT User Guide" décrit l'utilisation de ces outils Java, quant à la structure et aux API du JDT, elles sont décrites dans le manuel "JDT Plug-in Developer Guide".
L'environnement de développement de plug-ins fournit des outils qui automatisent la création, la manipulation, le débogage et le déploiement des plug-ins.
Le PDE est installé sous forme d'un ensemble de plug-ins inclus dans SDK. Le manuel "PDE Guide" décrit l'utilisation de cet environnement.