En quoi consiste Eclipse ?

Eclipse est une plate-forme qui a été conçue à la base pour la génération d'outils de développement d'application intégrés au Web. Par conception, la plate-forme en elle même, ne fournit pas un grand nombre de fonctionnalité à l'utilisateur final. Sa valeur réside en ce qu'elle encourage : un développement rapide des dispositifs intégrés basés sur un modèle de plug-in.

Eclipse fournit un modèle d'interface utilisateur commun pour l'utilisation des outils. Elle est conçue pour s'exécuter sur plusieurs systèmes d'exploitation tout en procurant une intégration robuste au système d'exploitation sous-jacent. Les plug-ins peuvent se programmer sur les API portables d'Eclipse et s'exécuter sans changement sur les différents systèmes d'exploitation supportés.

Eclipse est articulé autour d'un architecture de détection, de chargement et d'exécution dynamiques des plug-ins. La plate-forme gère la logistique de détection et d'exécution du code approprié. L'interface utilisateur de la plate-forme fournit un modèle de navigation utilisateur standard. Chaque plug-in peut alors se charger d'un nombre réduit de tâches. Quels types de tâches ? Définition, test, animation, publication, compilation, débogage, réalisation de diagrammes, etc. il n'y a pas de limite, sauf celle de votre imagination.

Architecture ouverte

La plate-forme Eclipse définit une architecture ouverture de sorte que chaque équipe de développement de plug-in puisse se concentrer sur son domaine d'expertise. Laissons donc les experts de référentiel générer les systèmes dorsaux et les experts de fonctionnalité générer les outils destinés à l'utilisateur final. Si la plate-forme est bien conçue, d'importantes fonctionnalités nouvelles et de nouveaux niveaux d'intégration peuvent être ajoutés sans impact sur les autres outils.

La plate-forme Eclipse utilise le modèle d'un plan de travail courant pour intégrer les outils du point de vue de l'utilisateur final. Les outils que vous développez peuvent être associés au plan de travail à l'aide de points d'ancrage bien définis appelés points d'extension.

La plate-forme proprement dite est composée de couches de plug-ins, chacune définissant des extensions vers les points d'extension des plug-ins de niveau inférieur, qui définissent à leur tour leurs propres points d'extension pour une personnalisation ultérieure. Ce modèle d'extension permet aux développeurs de plug-in d'ajouter différentes fonctions à la plate-forme standard des outils. Les artefacts de chaque outil, comme les fichiers et les autres données, sont coordonnés par un modèle de ressource de plate-forme commun.

La plate-forme procure aux utilisateurs un moyen courant d'utiliser les outils et propose une gestion intégrée des ressources créées à l'aide des plug-ins.

Les développeurs de plug-in tirent également profit de cette architecture. La plate-forme gère la complexité des différents environnements d'exécution, tels que différents systèmes d'exploitation ou environnements de serveur de groupes de travail. Les développeurs de plug-in peuvent se concentrer sur leur tâche spécifique au lieu de s'inquiéter pour les questions d'intégration.

Structure de la plate-forme

La plate-forme Eclipse proprement dite est structurée sous forme de sous-systèmes qui sont implémentés dans un ou plusieurs plug-ins. Les sous-systèmes sont créés à partir d'un petit moteur d'exécution. La figure ci-dessous représente une vue simplifiée.

Base d'exécution de la plate-forme avec des groupes de plug-ins pour l'ajout de fonctions

Les plug-ins qui composent un sous-système définissent des points d'extension pour ajouter un comportement à la plate-forme. Le tableau ci-dessous décrit les principaux composants d'exécution de la plate-forme, implémentés sous la forme d'un ou de plusieurs plug-ins.

Exécution de la plate-forme

Définit le point d'extension et le modèle de plug-in. Elle détecte dynamiquement les plug-ins et conservent les informations relatives aux plug-ins ainsi que leurs points d'extension dans une registre de plate-forme. Les plug-ins sont lancés à la demande en fonction des opérations de l'utilisateur de la plate-forme. L'exécution est implémentée à l'aide de la structure OSGi.

Gestion des ressources (espace de travail)

Définit une API de création et de gestion des ressources (projets, fichiers et dossiers) produits par les outils et conservés dans le système de fichiers.

Interface utilisateur du plan de travail

Implémente le cockpit utilisateur pour la navigation dans la plate-forme. Elle définit les points d'extension pour ajouter des composants d'interface utilisateur sous forme de vues ou d'opérations de menu. Elle inclut des toolkits supplémentaires (JFace et SWT) pour la génération d'interfaces utilisateur. Les services de l'interface utilisateur sont structurés de sorte qu'un sous-ensemble des plug-ins de l'interface utilisateur puisse être utilisé pour créer des applications client avancées indépendantes de la gestion des ressources et du modèle d'espace de travail. Les plug-ins orientés IDE définissent une fonction supplémentaire pour naviguer dans des ressources et les manipuler.

Système d'aide

Définit les points d'extension pour que les plug-ins puissent fournir une aide ou d'autres documents, tels que des manuels en ligne.

Support d'équipe

Définit un modèle de programmation d'équipe pour la gestion de la version des ressources.

Support de débogage

Définit un modèle de débogage indépendant du langage et des classes d'interface graphique pour construire des débogueurs et des lanceurs.

Autres utilitaires

D'autres plug-ins d'utilitaires offrent des fonctions comme la rechercher et la comparaison de ressources, la réalisation de générations à l'aide des fichiers de configuration XML, et la mise à jour dynamique de la plate-forme à partir d'un serveur.

Hors cadre

Hors cadre, ou en dehors du Web, la plate-forme de base est un environnement de développement intégré (IDE) pour toute chose (et rien en particulier).

Fenêtre du plan de travail

Les plug-ins déterminent la fonctionnalité finale de la plate-forme. C'est pourquoi SDK Eclipse est fourni avec des plug-ins supplémentaires pour améliorer la fonctionnalité de SDK.

Vos plug-in peuvent fournir un support pour l'édition et la manipulation d'autres types de ressources, tels que des fichiers Java, des programmes C, des documents Word, des pages HTML et des fichiers JSP.