Développement d'une application Eclipse RCP simple. Prise en main de la plateforme Eclipse (documentation)

Utilisation des plugins Eclipse pour l'édition, la compilation, le débogage et comme base pour vos applications

Cet addendum à l'article de David Gallardo offre de nouvelles informations concernant Eclipse V3.3.

Qu'est-ce qu'Eclipse ?

Eclipse est une plate-forme de développement extensible open source basée sur Java. En fait, il ne s'agit que d'un environnement de développement et d'un ensemble de services permettant de construire des applications basées sur des composants embarqués (plugins). Heureusement, Eclipse est livré avec un ensemble standard de plug-ins, y compris les célèbres outils de développement Java (JDT).

Bien que la plupart des utilisateurs qui utilisent Eclipse comme environnement de développement intégré (IDE) Java en soient satisfaits, il a bien plus à offrir. Eclipse comprend également un environnement de développement de plugins (PDE), qui intéressera principalement ceux qui souhaitent étendre Eclipse lui-même, car il vous permet de créer vos propres outils intégrés à l'environnement Eclipse. Étant donné qu'Eclipse est entièrement plug-in, tous les développeurs de boîtes à outils ont la possibilité d'offrir des extensions à Eclipse et de fournir aux utilisateurs un environnement de développement intégré (IDE) cohérent et transparent.

Cette intégrité et cette cohérence ne sont pas propres aux outils de développement Java. Bien qu'Eclipse soit écrit en Java, il peut également être utilisé avec d'autres langages. Par exemple, des plugins existent déjà (ou sont en cours de développement) prenant en charge des langages de programmation tels que C/C++ et COBOL. Le framework Eclipse peut également être utilisé comme base pour d'autres types d'applications non liées au développement de logiciels, tels que les systèmes de gestion de contenu.

Un excellent exemple d'application basée sur Eclipse est IBM® Rational® Software Architect (voir ), qui a constitué la base de la famille IBM d'outils de développement Java.

Eclipse est open source

Les logiciels open source sont diffusés sous une licence destinée à garantir certains droits aux utilisateurs. La plus évidente d'entre elles, bien sûr, est que le code source doit être fourni aux utilisateurs, et qu'ils ont parfaitement le droit de modifier et de redistribuer eux-mêmes le logiciel. Cette protection des droits de l'utilisateur est réalisée grâce à un mécanisme appelé "copyleft": La licence du logiciel signifie la protection du droit d'auteur (copyright) et interdit la redistribution du logiciel à moins que l'utilisateur ne se voie accorder de tels droits. La licence copyleft exige également que tous les logiciels distribués par les utilisateurs soient couverts par la licence d'origine sans modification. Ainsi, le sens du droit d'auteur est essentiellement renversé, et une licence de copyleft, qui utilise le droit d'auteur pour donner des droits à l'utilisateur, et non pour les sauvegarder au développeur du logiciel, est souvent dite en plaisantant "tous les droits sont pervertis" (tous les droits renversé).

Une grande partie de la peur, de l'incertitude et du doute courants à propos des logiciels open source est basée sur la soi-disant nature virale de certaines licences copyleft. L'idée est que si vous utilisez un logiciel open source dans le cadre de votre propre programme de développement, vous perdrez votre propriété intellectuelle car la licence "contaminera" vos parties privées du programme. En d'autres termes, la licence peut exiger que tous les logiciels incorporant des logiciels open source, y compris tout logiciel nouvellement créé, soient distribués sous la même licence. Bien que cela soit vrai de la licence copyleft la plus célèbre, la licence publique générale GNU (sous laquelle, par exemple, Linux® est distribué), il existe d'autres licences qui établissent un équilibre différent entre les intérêts commerciaux et publics.

L'Open Software Initiative - OSI (Open Source Initiative) est une organisation à but non lucratif qui définit clairement ce qui constitue l'open source et certifie les licences qui répondent à ses critères. Eclipse est distribué sous la licence EPL, Eclipse Public License V1.0, approuvée par l'OSI et visant à faciliter l'acceptation commerciale d'Eclipse tout en maintenant la loyauté envers les auteurs du code source.

Ceux qui créent des plug-ins pour Eclipse ou utilisent Eclipse comme base pour le développement de logiciels sont tenus de publier tout code Eclipse qu'ils utilisent ou modifient sous la licence EPL, mais sont libres de concéder sous licence leurs propres modules complémentaires à leur guise. Le code natif fourni avec le logiciel d'Eclipse n'a pas besoin d'être sous licence en tant que source ouverte, et le code source lui-même n'a pas besoin d'être rendu public.

Bien que la plupart des programmeurs n'utilisent pas Eclipse pour développer des plug-ins ou créer de nouveaux produits basés sur celui-ci, la nature open source d'Eclipse est importante non seulement parce qu'elle rend Eclipse disponible gratuitement (et malgré le fait que l'orientation commerciale de la licence implique que les plugins peuvent coûter de l'argent). L'open source favorise l'innovation et incite les développeurs (même commerciaux) à apporter leur code source à la communauté. Il y a plusieurs raisons à cela, mais la plus importante est peut-être que plus les développeurs contribuent au projet, plus il devient important pour tout le monde. Et lorsqu'un projet devient utile, de plus en plus de développeurs l'utilisent et construisent une communauté autour de lui, similaire à celles qui se sont formées autour d'Apache et de Linux. (Pour plus d'informations sur les licences, consultez la section.)

Qu'est-ce qu'Eclipse ?

Eclipse est une communauté de développeurs open source dont les projets visent à créer une plate-forme de développement ouverte composée d'environnements de développement extensibles, d'outils et de bibliothèques d'exécution pour créer, déployer et gérer des logiciels tout au long de leur cycle de vie. La Fondation Eclipse est une association à but non lucratif soutenue par ses membres qui héberge des projets Eclipse et aide à faire progresser la communauté open source et l'écosystème de produits et services complémentaires.

Le projet Eclipse a été créé en novembre 2001 par IBM et soutenu par un consortium d'éditeurs de logiciels. La Fondation Eclipse a été créée en janvier 2004 en tant qu'organisation indépendante à but non lucratif qui sert d'intendant de la communauté Eclipse. Il a été créé pour aider une communauté indépendante, ouverte et transparente à se développer autour d'Eclipse. La communauté Eclipse d'aujourd'hui est composée d'individus et d'organisations représentant l'industrie du logiciel.

La Fondation Eclipse supervise et dirige le développement continu d'Eclipse. La fondation sert la communauté, mais les développeurs open source appelés commettants et, en fait, ceux qui travaillent sur les projets Eclipse ne font pas partie de son équipe. En règle générale, les committers Eclipse sont soit dans une organisation, soit des développeurs indépendants qui donnent de leur temps pour travailler sur un projet open source.

Maintenant que nous avons examiné les aspects théoriques, historiques et politiques d'Eclipse, examinons le produit lui-même.

Espace de travail Eclipse

Lorsque vous démarrez Eclipse pour la première fois, vous verrez une page d'accueil dans l'espace de travail (voir Figure 1). L'utilisateur Eclipse dispose de plusieurs options pour accéder à la page de présentation, ce que je recommande de faire (voir Figure 2). Ensuite, vous pouvez lire des informations sur les nouvelles fonctionnalités, explorer quelques exemples ou suivre un didacticiel.

Figure 1. Page d'accueil d'Eclipse
Figure 2. Page de présentation d'Eclipse

L'espace de travail Eclipse se compose de plusieurs panneaux appelés représentations, telles que les vues de navigateur ou de plan. L'ensemble de ces représentations est appelé perspective. L'une des perspectives les plus courantes est la perspective Ressources, qui est un ensemble de vues de base pour la gestion des projets et l'affichage et la modification des fichiers de projet.

Je recommande à la plupart des utilisateurs novices de commencer par la page de présentation illustrée à la figure 2 et d'en savoir plus sur Eclipse. La section des bases de l'atelier contient de nombreuses informations initiales utiles sur les différents composants Eclipse et sur la manière dont ils interagissent les uns avec les autres. Prenez quelques minutes pour lire ce document, puis plongeons dans les outils de développement Java (JDT) d'Eclipse. La meilleure façon d'apprendre quelque chose est de l'essayer.

Poursuivant ce petit tour d'Eclipse, nous allons créer un nouveau projet Java. Sélectionner Fichier> Nouveau> Projet Java (Fichier> Nouveau> Projet Java) et tapez Bonjour lorsque vous êtes invité à entrer un nom de projet, puis cliquez sur Finir.

Regardons maintenant la perspective "Java" (si vous n'y êtes pas déjà). Selon la façon dont vous souhaitez contrôler votre écran, vous pouvez soit modifier la perspective de la fenêtre actuelle en sélectionnant Fenêtre > Ouvrir la perspective > Java (Fenêtre > Ouvrir la perspective > Java), ou ouvrez une nouvelle fenêtre en sélectionnant Fenêtre> Nouvelle fenêtre (Fenêtre> Nouvelle fenêtre), et choisissez une nouvelle perspective.

Comme vous vous en doutez, la perspective Java comporte un ensemble de vues conçues pour le développement Java. L'un d'eux, situé dans le coin supérieur gauche, est une hiérarchie contenant divers packages Java, classes, archives JAR et fichiers divers. Cette vue s'appelle l'Explorateur de packages. Veuillez noter que deux nouveaux éléments ont été ajoutés au menu principal : Source et Refactor.

Outils de développement Java (JDT)

Pour tester l'environnement de développement Java, nous allons créer et exécuter une application appelée "Hello World". Du point de vue Java, cliquez avec le bouton droit sur le dossier de test source du projet "Hello" (src) et sélectionnez Nouveau> Classe (Nouveau> Classe), comme illustré à la figure 3. Dans la boîte de dialogue qui s'affiche, saisissez Hello comme nom de classe. Sous l'inscription Quels stubs de méthode souhaitez-vous créer ? (Quels stubs de méthode souhaitez-vous créer ?) Remarque public statique vide principal (Stringargs) et appuyez sur Finir.

Figure 3. Création d'une nouvelle classe dans la perspective Java

Cela créera un fichier .java avec la classe Hello et une méthode main() vide dans la zone de l'éditeur, comme illustré à la figure 4. Ajoutez le code suivant à la méthode (notez que la description de je a été délibérément omis).

Figure 4. La classe Hello dans l'éditeur Java

Au fur et à mesure que vous tapez, vous remarquerez certaines des fonctionnalités de l'éditeur Eclipse, notamment la vérification de la syntaxe et la saisie semi-automatique du code. De plus, lorsque vous entrez une parenthèse ouvrante ou des guillemets doubles, Eclipse insère automatiquement une paire fermante pour eux et place le curseur au milieu.

Dans d'autres cas, vous pouvez déclencher la complétion automatique du code à l'aide de la combinaison ctrl+1. La fonction de complétion de code produit une liste contextuelle d'options parmi lesquelles vous pouvez sélectionner à l'aide du clavier ou de la souris. Les variantes peuvent être une liste de méthodes spécifiques à un objet particulier, ou un morceau de code basé sur divers mots clés tels que for ou while .

La vérification de la syntaxe dépend de la compilation incrémentale. Lorsque vous enregistrez du code, il est compilé en arrière-plan et vérifié pour les erreurs de syntaxe. Par défaut, les erreurs de syntaxe sont soulignées en rouge et un point rouge avec un X blanc apparaît dans la marge de gauche.Les autres erreurs sont signalées dans la marge de l'éditeur par un symbole d'ampoule ; ce sont des problèmes que l'éditeur pourrait résoudre pour vous (une fonctionnalité appelée Quick Fix).

Dans le code ci-dessus, le signe ampoule est à côté de l'instruction for car la description de i a été omise. Double-cliquer sur une ampoule fera apparaître une liste de correctifs suggérés. Dans notre cas, il sera proposé de créer un champ de classe i , une variable locale i ou un paramètre i pour la méthode ; la sélection de l'une de ces options avec la souris affichera le code qui sera généré. La figure 5 montre la liste des options proposées et le code proposé dans le cas d'une variable locale.

Figure 5. Options offertes par la fonction Quick Fix

Double-cliquer sur une phrase insère le code au bon endroit dans le programme.

Si le programme se compile sans erreur, vous pouvez l'exécuter en sélectionnant Courir dans le menu Éclipse. (Notez qu'il n'y a pas d'étape de compilation distincte, car la compilation se produit lorsque vous enregistrez le code. Si votre code ne contient pas d'erreurs de syntaxe, il est prêt à être exécuté.) La boîte de dialogue "Lancer les configurations" apparaît avec les valeurs par défaut correctes ; Cliquez sur Courir en bas à droite. Un nouveau panneau à onglets (Console) apparaît dans le panneau inférieur, affichant la sortie du programme, comme indiqué ci-dessous.

Figure 6. Le résultat du programme

Vous pouvez également exécuter le programme dans le débogueur Java. Tout d'abord, vous devez définir un point d'arrêt dans main() System.out.println() en double-cliquant sur la case grise sur le côté gauche de la zone d'édition à côté de l'appel à System.out.println() . Un point bleu apparaîtra. au menu Courir sélectionner une équipe Déboguer. Comme décrit précédemment, la boîte de dialogue "Lancer les configurations" apparaîtra. Choisissez une équipe Courir. La perspective passera automatiquement à la perspective Debug, qui contient un certain nombre de nouvelles vues intéressantes, comme indiqué ci-dessous.

Figure 7. Perspective de débogage

Remarquez la vue Débogage dans le coin supérieur gauche de la perspective. Cette vue affiche la pile des appels et contient une barre d'outils dans la barre de titre qui vous permet de contrôler l'exécution du programme. Le panneau comporte des boutons pour continuer, mettre en pause ou terminer le programme, passer à l'instruction suivante, passer à l'instruction suivante ou revenir d'une méthode. Le panneau en haut à droite contient un certain nombre de vues à onglets, notamment Variables (Variables), Breakpoints (Points de contrôle), Expressions (Expressions) et Display (Affichage). L'onglet Variables est maintenant sélectionné, nous pouvons donc voir la valeur actuelle de la variable i .

Des informations plus détaillées sur l'une des vues peuvent être obtenues à l'aide de l'aide contextuelle ; Pour cela, cliquez sur le titre de la vue et cliquez sur F1.

Plugins supplémentaires

En plus des plugins comme JDT pour l'édition, la compilation et le débogage des applications, il existe des plugins qui prennent en charge l'ensemble du processus de développement : modélisation, automatisation de la construction, tests unitaires, tests de performances, gestion des versions et configuration.

Eclipse inclut un plugin CVS (Concurrent Versions System) pour la gestion du code source. Le plugin Team se connecte à un serveur CVS, permettant aux membres d'une équipe de développement de travailler sur un ensemble de fichiers source sans interférer avec les modifications apportées par d'autres. Nous n'explorerons pas ici plus en détail le contrôle des sources d'Eclipse, car cela nécessitera l'installation d'un serveur CVS, bien que la capacité à prendre en charge une équipe de développement, et pas seulement l'auto-développement, soit une partie importante et intégrale d'Eclipse.

Les plugins maintenus et distribués par la Fondation Eclipse peuvent être trouvés sur le site Web d'Eclipse. La liste la plus complète des plugins disponibles est disponible sur la page Eclipse Plug-in Central, qui sert de répertoire de plugins.

Architecture de la plateforme Eclipse

La plate-forme Eclipse contient un ensemble puissant de plugins (voir Figure 8) qui prennent en charge des projets tels que JDT et PDE.

Figure 8. Architecture simplifiée de la plateforme Eclipse

Les cases bleu foncé représentent les composants qui constituent la partie centrale de la plateforme client riche (RCP) dans Eclipse. Le concept même de RCP dépasse le cadre de cet article, mais considérons RCP comme un simple ensemble de plug-ins d'Eclipse que les utilisateurs peuvent utiliser dans le développement d'applications, telles que Lotus Notes® 8. Les cases bleu clair représentent les options ( bien que recommandé) composants à activer dans les applications basées sur RCP. Et les blocs gris sont complètement facultatifs. La plateforme se compose de plusieurs composants, nous allons en voir quelques-uns :

Durée Le runtime est le code qui définit le modèle de plug-in Eclipse basé sur la spécification OSGi et la notion d'extensions et de points d'extension. Runtime fournit également des services supplémentaires tels que syslog et simultanéité. JFace/SWT Le Standard Widget Toolkit (SWT) est un ensemble de widgets responsables de l'interface utilisateur et des fonctionnalités d'Eclipse. JFace est simplement un complément à SWT qui fournit plusieurs classes Model-View-Controller (MVC) pour faciliter le développement d'applications graphiques. Établi (espace de travail) L'espace de travail donne à Eclipse sa personnalité. C'est à ce niveau que le concept de vues, de perspectives et d'éléments tels que les fenêtres d'édition est implémenté. Aide (Assistance utilisateur) Ce composant Eclipse vous permet d'apporter un support à vos utilisateurs. Cela peut être fait via le système d'aide, qui permet aux utilisateurs de rechercher de la documentation d'aide, ou via des feuilles de triche, qui peuvent être présentées aux utilisateurs finaux sous forme de listes de tâches interactives. Mise à jour Le composant de mise à jour fournit à Eclipse les moyens de mettre à jour les applications d'une version à une autre. Équipe (Équipe) Le composant d'équipe est un cadre qui permet aux développeurs de brancher leurs propres systèmes de contrôle de version. Un exemple d'implémentation de fournisseur est le plugin CVS intégré à Eclipse.

Conclusion

À partir du code original écrit par IBM, Eclipse est devenu un écosystème open source entièrement fonctionnel avec plus de 100 entreprises participantes. Un framework open source portable et extensible n'est plus une idée nouvelle, mais avec un design bien pensé, robuste et élégant, Eclipse prend une toute nouvelle dynamique.

Bienvenue dans l'écosystème Eclipse. Notre objectif était de vous aider à vous familiariser avec la plateforme Eclipse. Nous y sommes parvenus avec un texte d'introduction et un exercice pratique simple. Utilisez les connaissances acquises à la lecture de cet article et devenez un membre actif de l'écosystème Eclipse.

19/04/2005 Natalia Dubova

La communauté Open Source mène plusieurs projets phares, parmi lesquels, avec l'OS Linux, la création de la plateforme de développement Eclipse. Lancée il y a quelques années par IBM, cette plateforme d'intégration d'outils de développement d'applications ouvertes est aujourd'hui distribuée librement en open source et développée par la communauté des utilisateurs.

Sans entrer dans une discussion sur la question de savoir ce qu'est la programmation - un art ou un métier, nous l'admettons : dans les deux cas, un programmeur ne peut se passer d'outils de création de programmes. Parallèlement à l'évolution du processus de programmation (de la « sorcellerie » aux commandes de la machine à l'utilisation de langages de haut niveau), les possibilités d'automatisation du travail acharné des programmeurs ont également été améliorées. Les premiers environnements de développement se limitaient à exécuter des compilateurs, des éditeurs de liens, des chargeurs et des débogueurs en séquence à l'aide d'une interface de ligne de commande. Dans les années 1980, parallèlement aux ordinateurs personnels, un marché pour une nouvelle classe de produits logiciels est apparu - les environnements de développement intégrés (IDE) pour les langages de programmation algorithmiques (Pascal, etc.), puis orientés objet (Smalltalk, C ++). Ce domaine a atteint son véritable apogée grâce à l'adaptation active des développeurs du langage Java ; les environnements intégrés les plus connus pour créer des programmes dans ce langage sont Borland JBuilder, Symantec Visual Cafe, Microsoft J++, IBM VisualAge et Oracle JDeveloper.

L'objectif principal d'un IDE est d'augmenter la productivité des développeurs. Les premiers environnements de développement, combinant les fonctionnalités des éditeurs de texte de programme, des compilateurs et des débogueurs, ont principalement libéré les consommateurs des opérations de routine. Au fil du temps, l'ensemble des fonctionnalités de l'IDE s'est enrichi. Il comprenait des compilateurs pas à pas, des navigateurs pour une présentation plus logique des programmes, des outils de génération automatique de code et des éditeurs visuels pour créer des interfaces utilisateur graphiques. Suivant les tendances de l'époque, les environnements de développement se sont transformés d'outils pour augmenter la productivité d'un programmeur en un moyen de soutenir toutes les étapes du travail d'équipe sur un projet logiciel. La dernière tendance est la transformation de l'IDE en ALM (application lifecycle management), un système intégré de gestion du cycle de vie des applications - depuis la définition et la modélisation des exigences jusqu'à la configuration logicielle et la gestion des versions, le déploiement et la maintenance d'une solution clé en main.

Chaque nouvelle étape dans l'évolution de l'IDE a des environnements de développement compliqués. Cependant, les utilisateurs de tels produits étaient toujours contraints de recourir à des outils non intégrés à l'IDE, ne serait-ce que parce que la création d'une application ne se limite pas à l'écriture et au débogage de programmes dans un seul langage de programmation. La nécessité d'utiliser dans le système d'application, par exemple, des pages HTML, des schémas de bases de données relationnelles ou des morceaux de code dans d'autres langages (comme Cobol ou PL / 1) oblige les développeurs à utiliser les outils appropriés qui n'étaient pas inclus à l'origine dans le IDE.

C'est pourquoi de nombreux fournisseurs d'environnements de développement commerciaux s'efforcent de les rendre aussi ouverts que possible et de fournir des mécanismes spéciaux pour l'intégration d'outils externes. Mais aucun environnement n'est capable de satisfaire toutes les exigences possibles des utilisateurs. Pour ce faire, il doit être totalement neutre vis-à-vis du langage de programmation et prendre en charge le maximum de fonctions. Eclipse n'est pas un tel environnement, mais c'est une base, une plate-forme avec laquelle vous pouvez créer des environnements de développement multifonctionnels et multilingues.

Plateforme

Comme l'expliquent les initiateurs du projet Eclipse, son idée était de créer "Apache pour les outils de développement" - une plate-forme ouverte qui fournit le maximum de fonctionnalités de base pour les environnements de développement et fournit des mécanismes d'intégration de divers outils. La première version de cette plate-forme a été développée par IBM et publiée en open source fin 2001. Des implémentations commerciales basées sur Eclipse ont rapidement commencé à émerger, lancées par WebSphere Studio Application Developer 4.0. Eclipse dispose désormais de tout un écosystème de développement open source qui rassemble des fournisseurs et des utilisateurs d'outils, des organismes de recherche et des développeurs individuels.

Dans la documentation officielle de la Fondation Eclipse ( www.eclipse.org) La plate-forme Eclipse est définie comme une plate-forme de développement ouverte indépendante du fournisseur qui fournit un cadre et des fonctionnalités exemplaires, ainsi que des outils extensibles. La boîte à outils de la plate-forme Eclipse est typique en ce sens qu'elle vérifie l'applicabilité des fonctionnalités de base de la plate-forme, illustre des situations typiques de leur utilisation et prend en charge le développement et la maintenance de la plate-forme Eclipse elle-même. La boîte à outils est extensible car ses fonctionnalités sont disponibles via des interfaces de programmation documentées. Les principes de base qui ont guidé les créateurs de la Plateforme Eclipse et selon lesquels elle continue de se développer sont les suivants :

  • aide à la construction d'outils pour le développement d'applications ;
  • prise en charge d'un nombre illimité de fournisseurs d'outils, y compris des développeurs de logiciels indépendants ;
  • prise en charge d'outils permettant de travailler avec des types de contenu arbitraires, notamment HTML, Java, C, JavaServer Pages, EJB, XML, GIF, etc. ;
  • assurer une intégration "transparente" des outils pour travailler avec différents types de contenu de différents fabricants ;
  • prise en charge des environnements de développement d'applications avec des interfaces utilisateur conventionnelles et graphiques ;
  • offrant la possibilité d'exécuter un environnement de développement basé sur différents systèmes d'exploitation (aujourd'hui, les outils basés sur Eclipse sont implémentés pour Linux, HP-UX, IBM AIX, Sun Solaris, QNX, Mac OS X, Windows) ;
  • la prise en compte dans l'intérêt du développement de plateforme de l'engouement pour le langage Java lors de la création d'outils de développement.

La plate-forme Eclipse est un environnement de développement très polyvalent écrit en Java, dont l'architecture permet l'intégration de divers outils et langages de programmation pour résoudre différents problèmes. Les mécanismes d'une telle intégration permettent d'utiliser la plate-forme Eclipse pour construire des environnements de développement avancés, libérés de la routine d'écriture d'outils de base au profit de la création de fonctions complexes et spécialisées. Cela résout non seulement le problème de la prise en charge d'environnements de développement multifonctionnels et multilingues, mais jette également les bases pour simplifier la transition d'un type d'environnement à un autre au cours de leur évolution. Développée par une communauté de développeurs, la plate-forme Eclipse accumulera les dernières avancées, les mettant à la disposition des développeurs de produits spécifiques et éliminant le besoin d'une refonte fondamentale de leurs systèmes.

Environnement de développement Eclipse

La base de l'architecture de la plate-forme Eclipse est le principe d'utilisation de plug-ins (plug-in). La plate-forme met en œuvre des mécanismes de détection, d'intégration et d'exécution de tels modules (voir figure). Un développeur qui souhaite tirer parti de la puissance de la plate-forme Eclipse écrit sa boîte à outils en Java sous la forme d'un plug-in distinct. Ce module fonctionnera avec des fichiers dans l'espace de travail, qui est implémenté à l'aide du composant d'espace de travail. Et son interface utilisateur est basée sur les outils du composant workbench, qui définit la structure générale de l'interface et la possibilité de son extension.

En règle générale, un seul plug-in implémente la fonctionnalité la plus simple d'un IDE basé sur la plate-forme Eclipse, tandis que des outils plus complexes sont créés à partir de plusieurs modules. Dans le même temps, presque toutes les fonctionnalités intégrées de la plate-forme Eclipse sont également implémentées à l'aide de tels modules - à l'exception d'un petit noyau d'exécution de plate-forme. Chaque plug-in a son propre fichier manifeste (manifest), qui décrit la relation de ce module avec les autres. Lorsqu'un environnement de développement basé sur la plate-forme Eclipse est lancé, le Platform Runtime détermine l'ensemble de plug-ins disponibles, lit leurs fichiers manifestes et crée un registre de plug-ins. Une fois le système démarré, des modules supplémentaires ne peuvent plus être ajoutés. Le projet Eclipse a implémenté un environnement spécial pour la création de plug-ins - Plug-In Development Environment (PDE).

À l'aide de modules spéciaux, les composants de l'espace de travail (workspace) et de l'interface utilisateur (workbench) de la plate-forme Eclipse sont implémentés. L'espace de travail contient des fichiers créés par les utilisateurs des outils implémentés par les plug-ins. Le composant Workbench fournit un cadre et des outils communs pour étendre l'interface utilisateur de l'environnement de développement basé sur la plate-forme Eclipse et comprend deux composants pour mettre en œuvre les moyens de fournir des informations à l'utilisateur.

  • Standard Widget Toolkit (SWT) est un ensemble d'éléments d'interface et une bibliothèque graphique qui ont des mécanismes d'intégration avec le système de fenêtres d'une plate-forme d'exploitation spécifique, mais implémentent des API indépendantes du système d'exploitation. Cela vous permet de construire des interfaces utilisateur de l'environnement de développement selon les mêmes principes, qui correspondent à l'environnement de fenêtre familier au consommateur, mais sont destinés à la gamme maximale possible de systèmes d'exploitation ;
  • JFace est une boîte à outils permettant d'implémenter un certain nombre de tâches courantes liées à la programmation d'interfaces à l'aide d'outils SWT.

Sur la base des API fournies par les composants SWT et JFace, une interface utilisateur personnalisée est construite qui définit la structure de l'interaction du consommateur avec la boîte à outils de développement. L'interface de la plate-forme Eclipse est organisée à l'aide d'éditeurs (editor), de vues (view) et de perspectives (perspective).

Le but des éditeurs est d'ouvrir, de modifier et d'enregistrer les objets de l'espace de travail. La plate-forme dispose d'un éditeur intégré pour les ressources textuelles et d'autres fonctionnalités doivent être implémentées sous forme de plug-ins. Les vues fournissent des informations sur l'objet avec lequel l'utilisateur travaille actuellement. Enfin, le mécanisme des perspectives vous permet de sélectionner et d'organiser les éditeurs et vues souhaités qui seront affichés à l'écran.

Organisme

Maintenir des projets en open source offre un certain nombre d'avantages. Ainsi, l'une des tâches d'une telle plateforme est de fournir aux développeurs des outils à partir d'un socle commun, invariant pour différents environnements de développement. Pourquoi chaque fabricant doit-il réécrire ce qui peut être écrit une fois ? Mais pour construire ses développements sur une telle plateforme, le constructeur doit faire entièrement confiance à celui qui l'a créée. Et cela n'est possible que s'il parvient à tester tout ce qu'il contient, c'est-à-dire à obtenir une plate-forme en codes ouverts.

Développer un produit selon les principes de l'Open Source améliore la qualité du code, car il est « peaufiné » conjointement par de nombreux développeurs intéressés. Le débogage devient plus facile et meilleur - grâce à l'accès au code source du programme et, encore une fois, à l'implication d'une équipe distribuée dans le travail. La collaboration vous permet de partager les risques liés à la création de technologies complexes. Et l'instance collective de développement de la plateforme assure son soutien, quels que soient les aléas qui peuvent survenir avec les fournisseurs d'environnements de développement spécifiques. Enfin, l'utilisation d'une plate-forme de développement open source avec un mécanisme de plug-in flexible pour implémenter des fonctionnalités supplémentaires ouvre des possibilités illimitées pour son amélioration.

Architecture de la plate-forme Eclipse

Cependant, il ne sera pas possible de réaliser les avantages du modèle de développement open source simplement en libérant une plate-forme technique « en flottement libre ». Vous devez organiser le processus. Avec la sortie de la première version d'Eclipse en 2001, cette préoccupation a été reprise par un consortium organisé par IBM avec un certain nombre d'acteurs majeurs du marché, et en février 2004, le conseil d'administration d'Eclipse a décidé de transformer la Fondation Eclipse en un société indépendante à but non lucratif.

La Fondation Eclipse, un consortium de plus de 60 entreprises, coordonne les travaux d'amélioration de la plateforme Eclipse et d'autres projets open source.

Le projet Eclipse est complètement ouvert, tout développeur intéressé qui n'est pas tenu d'être un employé d'une entreprise peut y participer. En principe, chacun peut non seulement s'intéresser aux détails du développement et contribuer à identifier les erreurs, mais aussi participer à l'écriture du code et à la conception globale de la prochaine version de la plateforme. Cependant, Eclipse suit le principe de priorisation du professionnalisme. Un développeur avec une expérience professionnelle éprouvée peut s'attendre à des responsabilités supplémentaires et à la possibilité de mettre activement en œuvre ses compétences dans les projets Eclipse. Certains développeurs sont définis comme "responsables" (committer), car ils sont responsables des codes sources, et eux seuls ont le droit de créer de nouvelles versions dans le référentiel de code open source. Généralement, ces développeurs sont des employés d'entreprises qui rémunèrent leur travail dans le cadre des projets Eclipse.

Le processus de développement est itératif, visant à maximiser l'implication des membres de la communauté Eclipse dans le travail sur le projet. La sortie de la version suivante est précédée de plusieurs étapes d'une durée déterminée (de l'ordre de plusieurs semaines), dont chacune est un cycle complet qui comprend la planification, le développement, les tests et la sortie intermédiaire de la version. L'achèvement du cycle suivant s'accompagne d'une publication ouverte d'une description des nouvelles fonctionnalités du système, qui encourage les membres de la communauté à discuter, utiliser et émettre des recommandations d'amélioration. En conséquence, lors des prochaines étapes de développement, il devient possible de prendre en compte la réaction de la communauté à la version intermédiaire. Il s'agit d'un processus ouvert d'amélioration continue de la plateforme Eclipse et de développement d'autres initiatives basées sur celle-ci.

L'objectif du projet technologique Eclipse est de coordonner les efforts des développeurs, des chercheurs, des membres d'organisations scientifiques et éducatives pour déterminer les perspectives de la plateforme Eclipse et d'autres développements open source. Parmi les sous-projets de recherche les plus notables dans ce domaine figurent le développement de logiciels orientés aspect (AspectJ et AJDT), la création d'un noyau alternatif à Eclipse Runtime (Equinox), la création d'une plateforme de développement collaboratif (Koi), la gestion de la configuration logicielle (Stellation), boîte à outils pour les schémas XML (XML Schema Definition) et pour le développement basé sur des modèles (Generative Model Transformer).

Communauté

L'utilisation de tous les matériaux obtenus à partir de la mise en œuvre des projets Eclipse est régie par les règles de licence de la licence publique commune (CPL), qui sont approuvées par l'Open Source Initiative. En vertu du CPL, toute personne est libre d'utiliser et de distribuer Eclipse à des fins commerciales et non commerciales. Disponibles gratuitement sur le site eclipse.org sont :

  • les versions actuelles de la plate-forme Eclipse pour une utilisation directe (sous forme binaire) ;
  • référentiel de code source, où n'importe qui peut afficher le contenu et l'historique des révisions de n'importe quel fichier source, ainsi qu'obtenir des scripts pour recompiler et construire la plate-forme Eclipse à partir des codes source ;
  • ouvrir des forums de discussion pour discuter de la plate-forme Eclipse ;
  • base de données de bogues pour suivre les défauts et les problèmes dans les versions actuelles de la plate-forme. Avec cette base de données, les utilisateurs peuvent identifier les défauts connus dans leurs développements basés sur Eclipse et rendre publics les nouveaux problèmes qu'ils découvrent ;
  • les plans de développement et les contacts des développeurs impliqués dans les projets Eclipse.

Aujourd'hui sur eclipse.org disponible gratuitement - plus d'une centaine de plug-ins dans les codes sources pour la plate-forme Eclipse. Les projets open source d'Eclipse représentent plus de 2 millions de lignes de code au total.

La participation des sociétés commerciales au projet Eclipse est d'une importance capitale pour le développement du marché des logiciels de développement. Avec la plate-forme Eclipse, ils obtiennent les services de base d'un environnement de développement indépendant de la langue et de la plate-forme prêts à l'emploi, afin qu'ils puissent concentrer leurs efforts et leurs investissements sur le développement de fonctionnalités complexes qui maintiendront la compétitivité de leurs solutions. Il existe des exemples d'implémentations basées sur Eclipse à la fois d'environnements de développement complets qui promeuvent les solutions les plus avancées dans ce domaine et d'outils spécialisés destinés à une gamme spécifique de tâches.

Ainsi, sur la plate-forme Eclipse, tous les produits de la famille IBM Rational fonctionnent. Borland a l'intention de migrer l'ensemble de sa prise en charge du cycle de vie des applications vers Eclipse. Il existe une version Eclipse des outils de développement embarqués de QNX ; un projet similaire est mis en œuvre par Wind River. De son côté, Hewlett-Packard propose un environnement de développement de composants basé sur Eclipse pour son système Internet Usage Manager, dont le public cible est les opérateurs de télécommunications. Nokia a annoncé la prise en charge d'Eclipse en tant que plate-forme de développement d'applications mobiles. IBM a mis en place une boîte à outils spéciale de calcul autonome basée sur Eclipse, conçue pour prendre en charge les technologies de calcul autonome dans les applications développées. De tous les principaux éditeurs de logiciels au monde, seuls Sun Microsystems et Microsoft ne collaborent pas avec la Fondation Eclipse.

Les fournisseurs d'environnements commerciaux basés sur Eclipse permettent aux développeurs tiers de vendre des modules complémentaires pour leur IDE, et il arrive qu'une entreprise implémente le même plug-in propriétaire pour différents environnements sur la plate-forme Eclipse. Il ne s'agit pas seulement d'une méthode pour développer de nouveaux marchés, mais aussi d'une autre façon d'augmenter l'importance du projet. Les utilisateurs apprécient la liberté de choix : s'ils ne sont pas satisfaits des fonctionnalités existantes d'un environnement basé sur une plate-forme open source, ils peuvent l'étendre par le biais d'un développement personnel ou en achetant des solutions commerciales dans le même format.

Ces groupes utilisent les développements d'Eclipse de différentes manières, mais ils contribuent tous à son développement. La tendance est d'utiliser la plate-forme Eclipse pour créer des applications non IDE. Cela est possible car il n'y a pas beaucoup d'éléments spécifiques à l'environnement de développement dans la solution technologique Eclipse Platform. Dans la troisième version d'Eclipse, on passe d'une plateforme d'environnements de développement à une plateforme d'implémentation de postes clients complets (Rich Client Platform). Ce n'est pas un hasard si IBM met en place son prometteur environnement de collaboration Workplace basé sur Eclipse.

Littérature

  1. Marc R. Erickson, Angus McIntyre. , 2001, novembre.
  2. J. dea Rivières, J. Wiegand. éclipse. Une plate-forme d'intégration d'outils de développement. IBM Systems Journal, 2004, no. 2.

Structure organisationnelle d'Eclipse

Le développement d'Eclipse et la participation à des projets open source de diverses organisations et développeurs individuels sont coordonnés par le consortium indépendant à but non lucratif Eclipse Foundation

Le conseil d'administration de la Fondation Eclipse est composé de quatre grandes catégories de participants :

  • développeurs stratégiques (Strategic Developers) - Actuate, Borland, IBM, Computer Associates, Intel, QNX, Wind River, Sybase, Scapa Technologies, BEA Systems ;
  • consommateurs stratégiques (consommateurs stratégiques) - HP, Montavista Software, SAP, Serena Software ;
  • fournisseurs inclus (fournisseurs de compléments) ;
  • chefs de projet open source.

Tous les développeurs stratégiques et les consommateurs stratégiques siègent au conseil d'administration, et les deux autres groupes y délèguent leurs représentants. Les membres stratégiques du consortium ont également certains droits de participation aux comités de gestion de projet et aux conseils qui coordonnent les processus de développement.

Le consortium maintient plusieurs projets open source de base, qui comprennent un certain nombre de sous-projets. Le projet de base est géré par le Comité de Gestion de Projet (PMC). Pour gérer le développement dans son ensemble, trois conseils principaux sont créés - sur la définition des exigences (Requirements Council), sur l'architecture (Architecture Council) et sur la planification (Planning Council).

Le comité de définition des exigences analyse et structure les exigences du projet. Ils combinent des exigences visant à atteindre les objectifs généraux de la Fondation Eclipse et les objectifs spécifiques du projet, à résoudre les problèmes des membres clés du consortium et à développer l'écosystème Eclipse. Sur la base de l'analyse, une liste de sujets et de priorités est formulée qui déterminera le cours du développement. Le conseil d'architecture est chargé de concevoir l'architecture de la plate-forme Eclipse, de la décrire clairement, de la communiquer aux équipes de développement et de la protéger contre toute altération par inadvertance. Le comité de planification crée un plan de lancement coordonné de la plate-forme.

Les projets sont mis en œuvre par des équipes de développement dirigées par des chefs de projet et comprenant des développeurs et des développeurs responsables. Les premiers sont engagés dans l'écriture de code, l'identification des erreurs, les tests et la documentation des programmes, et effectuent également d'autres tâches au sein du projet. Les développeurs responsables ont le droit de reconstituer le référentiel de code source et doivent influencer le développement du projet. Les entreprises qui ont le statut de développeur stratégique auprès de la Fondation Eclipse sont tenues de mener au moins un projet. Ils sont également encouragés à diriger des comités.



Si vous avez déjà suivi de près ce qui se passe dans le monde open-source ou Java, alors vous n'avez jamais entendu tout le buzz autour d'Eclipse. Eclipse est un environnement de développement intégré (IDE) extensible et open source. Ce projet a été lancé en novembre 2001 lorsqu'IBM a pris le code source de 40 millions de dollars de Websphere Studio Workbench et a formé le consortium Eclipse pour gérer le développement de l'outil.

L'objectif initial était de "développer une plate-forme industrielle stable, complète, de qualité commerciale, pour le développement d'outils intégrables". Le consortium Eclipse se concentre actuellement sur les projets suivants :

  1. Le projet Eclipse (http://www.eclipse.org/eclipse/index.html) - responsable du développement de l'IDE Eclipse (plate-forme de construction pour d'autres outils Eclipse), des outils de développement Java (JDT) et de l'environnement de développement de plug-ins (PDE) ) utilisé pour permettre l'extension de la plate-forme elle-même.
  2. Le projet Eclipse Tools (http://www.eclipse.org/tools/index.html) est dédié à la création d'outils optimaux pour la plate-forme Eclipse. Les sous-projets actuels incluent : Cobol IDE, C/C++ IDE et l'outil de modélisation EMF.
  3. Le projet technologique Eclipse (http://www.eclipse.org/technology/index.html) est engagé dans la recherche technologique, l'incubation et l'éducation sur l'utilisation de la plate-forme Eclipse.

Avec le JDT, le framework Eclipse fournit de nombreuses fonctionnalités différentes que vous pourriez voir dans les IDE commerciaux : coloration syntaxique dans l'éditeur, compilation de code, un débogueur au niveau source avec prise en charge des threads, un navigateur de classe, un gestionnaire de fichiers et un gestionnaire de projet. , s'interface avec les systèmes de contrôle de code source standard tels que CVS et ClearCase.

En outre, Eclipse contient un certain nombre de fonctionnalités uniques, telles que la refactorisation de code (http://www.refactoring.com/), la mise à jour et la création automatiques de code (via Update Manager), une liste de tâches, la prise en charge de la possibilité de tester unités utilisant JUnit (http://www.junit.org/), ainsi que l'intégration avec l'outil de construction d'application Jakarta Ant (http://jakarta.apache.org/ant/index.html).

Malgré un grand nombre de fonctionnalités standard, Eclipse diffère des IDE traditionnels de plusieurs manières fondamentales. La caractéristique la plus intéressante d'Eclipse est peut-être sa plate-forme absolue et sa neutralité linguistique. En plus de l'ensemble éclectique de langages de programmation pris en charge par le Consortium Eclipse (Java, C/C++, Cobol), il existe de nombreux projets tiers que vous pouvez utiliser pour prendre en charge votre langage de programmation dans Eclipse. À ce jour, il existe des implémentations des langages de programmation populaires suivants : Python, Eiffel, PHP, Ruby et C#.

La plateforme Eclipse est fournie, grâce au Consortium Eclipse, sous forme d'exécutables précompilés pour Windows, Linux, Solaris, HP-UX, AIX, QNX, et Mac OS X. ainsi que les API "riches" (Application Programming Interface) fournies avec le Plug -in Environnement de développement pour l'extension Eclipse L'ajout de la prise en charge d'un nouveau type d'éditeur, de visualiseur (panneau) ou de langage de programmation est extrêmement facile grâce aux API et aux blocs de construction bien conçus fournis par Eclipse.

Avec une centaine de projets de développement de plug-ins, des ressources fournies par des géants de l'industrie tels qu'IBM, HP et Rational (qui a été récemment racheté par IBM), et une conception par Erich Gamma, qui permet de comprendre rapidement le processus de développement - l'avenir d'Eclipse sera très brillant, intéressant et prometteur.

Installation

Je parie que vous ne pensez maintenant qu'à où obtenir une copie de cet Eclipse pour votre plate-forme et comment l'installer ? :) La première chose dont vous devez vous occuper est de vous assurer que vous disposez d'un JRE (Java Runtime Environment) approprié et fonctionnel. Bien qu'Eclipse ait été conçu pour pouvoir compiler du code pour les versions 1.3 et 1.4 de JVM (Java Virtual Machine), les versions actuelles d'Eclipse ont été conçues pour fonctionner sur JVM version 1.3. Si vous ne savez pas où obtenir une machine Java "virtuelle" (JVM) pour votre plate-forme, vous pouvez trouver des instructions détaillées et plus d'informations à ce sujet sur

Une fois que vous avez vérifié que vous disposez de la JVM ou que vous en avez installé la bonne version, vous êtes prêt à installer Eclipse. Pour ce faire, visitez la section de téléchargement du site Web du projet Eclipse (http://www.eclipse.org/downloads/) et téléchargez la dernière version spécialement conçue pour votre plate-forme. Toutes les distributions sont des archives .zip. Décompressez l'archive téléchargée dans un répertoire approprié et passez un peu de temps à parcourir tous les fichiers contenus dans le répertoire readme.

Croyez-le ou non, mais cette installation est terminée. Si vous avez correctement installé la JVM et décompressé correctement l'archive avec Eclipse, vous pouvez démarrer le processus de lancement de cet IDE pour la première fois. Toutes les distributions qui contiennent une version compilée de la plate-forme fournissent des programmes à exécuter, qui sont situés dans le répertoire principal : eclipse. Le nom de ce lanceur varie en fonction de la plate-forme pour laquelle vous avez téléchargé la distribution : eclipse.exe sous Windows, eclipse sous Solaris, etc. Lorsque vous exécutez l'application Eclipse pour la première fois, elle effectuera certaines tâches d'installation restantes (telles que la création d'un répertoire d'espace de travail pour stocker les fichiers de projet) avant que l'application ne soit enfin prête à fonctionner.

Interface

Alors maintenant qu'Eclipse est installé et en cours d'exécution, il est temps de commencer à l'utiliser. Après avoir démarré Eclipse, vous devriez voir quelque chose comme ceci :

Image 1

Comme vous pouvez le voir, l'IDE Eclipse a un contenu de menu assez standard :

Figure 2

En plus du menu, la similitude de la barre d'outils et du système de signets avec ceux d'autres environnements de développement d'applications est clairement visible ici.

Exemple de demande

Panneaux Navigateur de fichiers, Aperçu du code et Liste de tâches sont affichés, mais ne contiennent actuellement aucune donnée. Pour continuer notre introduction à Eclipse, nous allons créer une simple application de calcul Swing. Écrivons les étapes :

1. Sélectionnez un élément de menu Fichier->Nouveau->Projet..., pour commencer à créer votre premier projet Java. Dans la fenêtre de l'assistant, sélectionnez Java parmi les types de projets proposés dans la liste de gauche et Projet Java dans la liste de droite, puis cliquez sur le bouton Prochain.


figure 3

2. Entrez Calculatrice comme nom de projet et continuez à créer le projet en cliquant sur le bouton Prochain.


Figure 4

3. Et, enfin, à l'étape finale, "l'assistant" de création d'un nouveau projet vous donne la possibilité de définir des répertoires où seront stockés les fichiers de code source et les fichiers de classe, de définir des sous-projets pouvant être utilisés par le projet en cours, nous sommes création, ainsi que toutes les bibliothèques que nous avons l'intention d'utiliser dans notre application. Réglez le commutateur sur la valeur Utiliser le dossier source contenu dans le projet, puis appuyez sur le bouton Créer un nouveau dossier.... Entrez src comme nom du nouveau répertoire source. Cliquez sur Oui, quand Eclipse vous demande si vous voulez changer le répertoire de construction en Calculatrice/poubelle.


Figure 5

4. Appuyez sur le bouton Finir pour laisser Eclipse finir de créer le nouveau projet.

Dès que vous avez créé un nouveau projet, vous remarquerez peut-être que l'apparence d'Eclipse a quelque peu changé (comme prévu) : présenter déplacé vers une autre partie de la fenêtre, panneau Navigateur le panneau a été remplacé explorateur de paquets etc.

Voici à quoi ressemblait la fenêtre Eclipse après la création du nouveau projet :


Figure 6

Cette mise en page s'appelle Perspective Java. Une "vue", dans les termes d'Eclipse, définit tout arrangement stocké d'un nombre quelconque de panneaux d'éditeur et de visualisation différents. Eclipse est livré avec un certain nombre de "vues" par défaut ( Ressource, Java, déboguer et autres), qui peuvent être modifiés selon vos besoins, ou vous pouvez créer vos propres vues. Les vues sont contrôlées à l'aide d'éléments de menu Fenêtre ou une barre d'outils spéciale, généralement située le long du bord gauche de la fenêtre Eclipse.

Figure 7

La prochaine étape dans la création de notre projet Java consiste à créer des répertoires qui contiendront tout notre code source. Pour ce faire, passez à la vue Ressource en utilisant l'élément de menu Fenêtre->Ouvrir la perspective->Ressource. Dans le panneau Navigateur développez les nœuds de l'arborescence des dossiers afin que vous puissiez voir le nœud du dossier src. Sélectionnez ce nœud, puis exécutez l'élément de menu Fichier->Nouveau->Dossier. Dans la boîte de dialogue qui apparaît, assurez-vous que le répertoire src est sélectionné, puis entrez comme nom du nouveau, dans le champ nom de dossier, Nom com.

Créer un grand nombre de dossiers à l'aide d'une boîte de dialogue Nouveau dossier ce ne serait pas très pratique et fatiguant. Heureusement, Eclipse peut vous donner la possibilité de créer vos propres répertoires à l'aide de votre gestionnaire de fichiers préféré : ligne de commande, explorateur Windows, etc. En utilisant l'une des méthodes suggérées, créez dans le dossier com dossier diabolique, et dedans un dossier calculatrice. Une fois que vous avez créé ces dossiers, sélectionnez n'importe quel dossier de nœud dans le panneau Navigateur et, à l'aide de l'élément de menu Fichier-> Actualiser, actualisez le contenu de ce panneau. De cette façon, Eclipse examinera le système de fichiers et mettra à jour le panneau de projet avec les modifications que vous avez apportées (nouveaux répertoires créés). À ce stade, votre fenêtre Eclipse devrait ressembler à ceci :


Figure 8

Et encore une remarque sur la création de fichiers : dans les premières étapes de la création d'un projet, vous lancerez très probablement vos applications assez souvent, créerez de nouveaux fichiers et dossiers, ajouterez du nouveau code, compilerez et testerez à nouveau votre code. Il est important de se rappeler que l'emplacement des menus dans Eclipse dépend de la vue que vous utilisez. Donc, si vous passez à l'angle Ressource pour créer un nouveau fichier ou dossier dans le panneau Navigateur, vous constaterez que le menu Courir, par exemple, est fondamentalement différent du menu Courir En perspective Java. Une solution à ce problème courant consiste à utiliser le menu Windows->Afficher la vue pour afficher le panneau Navigateur En perspective Java. Si vous êtes entièrement satisfait de la vue reçue, utilisez l'élément de menu Fenêtre->Enregistrer la perspective sous..., vous pouvez enregistrer vos modifications dans une nouvelle vue ou écraser une vue existante Java.

Ajouter du code

Maintenant que notre structure de répertoires est configurée, nous pouvons commencer à ajouter du code source à notre projet. Nous allons diviser notre programme de calculatrice en trois classes (fichiers) : CalcModel.java, CalcPanel.jav un, et Calculatrice.java. Téléchargez l'archive .zip avec le code source de ce programme depuis http://www.onjava.com/onjava/2002/12/11/examples/calculator.zip . Après cela, décompressez cette archive et placez les trois fichiers mentionnés ci-dessus dans le répertoire com/devious/calculatrice. Utilisons à nouveau l'élément de menu Fichier-> Actualiser pour mettre à jour le contenu du panneau Gestionnaire de projet. Voici ce que vous devriez voir après avoir suivi ces étapes :


Figure 9

CalcPanel.java représente la base de l'interface utilisateur de notre calculateur. Calculatrice.java exécute des fonctions d'initialisation préparatoires et démarre l'interface utilisateur graphique (GUI). La partie la plus importante de notre programme se trouve dans le fichier CalcModel.java, qui traite directement de la mise en œuvre des mathématiques proprement dites de notre calculatrice : répondre aux événements, effectuer des calculs mathématiques, mettre à jour les informations affichées, etc. Le moyen le plus simple d'afficher le code source consiste à passer de l'affichage Java dans Navigation Java. Pour ce faire, utilisez perspective ouverte du menu Fenêtre ou cliquez sur le bouton ouvert, qui se trouve dans la barre d'outils pour travailler avec les vues.

Pendant que vous naviguez dans le code source sur le panneau explorateur de paquets, vous pouvez voir que le panneau présenter devient inutile pour vous à ce stade. Il peut être temporairement retiré de l'écran en cliquant sur la croix dans le coin droit de ce panneau. Lorsque vous en avez besoin, vous pouvez utiliser l'élément de menu Fenêtre->Afficher la vue->Contour pour l'afficher à nouveau.


Figure 10

Exécution et débogage du code

Vous avez donc téléchargé et installé Eclipse, créé un nouveau projet Java et ajouté les fichiers et dossiers nécessaires à votre application simple. Il est temps de mettre cette application à l'épreuve en l'exécutant. Pour ce faire, vous devez définir l'angle Java pour effectuer les étapes nécessaires à l'exécution de l'application :

1. Depuis le menu principal Courir sélectionnez l'élément Courir...

2. Dans la boîte de dialogue de l'assistant de lancement qui apparaît, sélectionnez "Application Java" dans la liste Configurations de lancement et appuyez sur le bouton Nouveau


Figure 11

3. Pour le nom de la nouvelle configuration, entrez calculatrice

4. Appuyez sur le bouton Chercher... et sélectionnez la classe comme classe principale calculatrice dans le champ classe principale, ou saisissez simplement le nom complet de la classe dans le champ de saisie : com.devious.calculator.Calculatrice.


Figure 12


Figure 13

Une fois que vous avez créé la configuration de lancement de votre application, vous pouvez la relancer à l'aide du menu Exécuter -> Exécuter l'historique ou des boutons Courir dans la barre d'outils. Si vous passez suffisamment de temps à "jouer" avec cette calculatrice, vous constaterez qu'elle fonctionne plutôt bien, avec un seul "mais" : elle ne veut pas bien faire l'opération de soustraction ! Il est temps d'utiliser le débogueur source Eclipse et de trouver ce bogue malheureux. Si vous avez suivi toutes les instructions ci-dessus dans cet article, vous pouvez exécuter cette application avec un débogueur avec la même configuration que celle que nous avons définie pour un lancement normal. Pour ce faire, sélectionnez l'élément de menu Exécuter-> Historique de débogage-> Calculatrice.

Lorsque vous exécutez votre application avec le débogueur, Eclipse bascule automatiquement vers le déboguer:


Figure 14

Étant donné que le problème que nous avons trouvé est centré sur la fonction de soustraction, nous allons définir un point d'arrêt dans le gestionnaire d'événements pour les boutons "-" et "=". Tout d'abord, nous devons passer à l'onglet de l'éditeur de classe CalcPanelComment. (Si vous n'avez pas de signet avec le code source de cette classe, vous devez ouvrir un fichier nommé CalcPanel.java, après passage à l'angle Java ou Ressource puis revenir à l'angle déboguer).

Utiliser le panneau présenter pour localiser la méthode actionEffectuée. Déplacez-vous un peu plus bas jusqu'à ce que vous trouviez l'expression Cas pour le signe "-" (ligne 126). Si vous double-cliquez sur le bord gauche de cette ligne, Eclipse y placera automatiquement un point d'arrêt. Descendez un peu et définissez un autre point d'arrêt sur l'appel de méthode modèle.calculer() dans le gestionnaire d'événements du bouton "=" (ligne 138).


Figure 15

Passez maintenant à la fenêtre de la calculatrice et cliquez sur quelques boutons. Par exemple, "2", "4", "6" et "-". Dès que le débogueur atteint un point d'arrêt, vous pouvez voir les boutons apparaître sur la barre d'outils déboguer, qui servent à parcourir le code source, et vous pouvez parcourir le code et, sans entrer dans les méthodes, les exécuter automatiquement ou, en allant à l'intérieur, parcourir leur code source.

Figure 16

Si nous entrons dans la méthode setOperation(), il devient clair qu'ils remplissent une fonction plutôt triviale : ils stockent le code d'opération dans le champ en attenteOp. Appuyez maintenant sur le bouton Sommaire dans la barre d'outils déboguer pour continuer à exécuter le programme.

Remarque : Une erreur majeure que commettent les nouveaux utilisateurs d'Eclipse est qu'ils cliquent parfois sur déboguer ou Courir dans la barre d'outils principale (provoquant le lancement d'une autre copie de l'application) au lieu de cliquer sur Sommaire.

Appuyez maintenant sur quelques boutons supplémentaires (par exemple, "1", "2", "3") et ensuite sur le bouton "=". Ainsi, nous nous retrouvons à l'intérieur de la méthode calculer(), le problème s'est avéré évident : quelqu'un a copié le code de la variante OP_ADD, mais a oublié de remplacer le signe + par -. Problème résolu! :)

Correction d'un bug avec la méthode HotSwap

Si vous avez utilisé JVM version 1.4 pour exécuter l'application, nous n'avons qu'une dernière étape pour corriger cette erreur dans notre exemple. Au lieu de quitter la calculatrice, d'apporter des modifications au code source, de recompiler l'intégralité du projet et de démarrer ensuite une nouvelle session de débogage, nous pouvons tout modifier à la volée. Pendant que le débogueur est toujours en cours d'exécution, modifiez la ligne dans votre code source à partir de :

SetDisplay(previousValue + currentValue); // à : setDisplay(previousValue - currentValue);

Enregistrez ce fichier puis cliquez sur le bouton Sommaire pour "lâcher prise" de l'application et continuer à travailler avec. Utilisation du bouton C pour le réinitialiser et répéter les étapes que nous avons effectuées précédemment. Maintenant, tout fonctionne comme il se doit !

Ce que nous avons maintenant démontré est la prise en charge par Eclipse d'une nouvelle fonctionnalité (appelée HotSwap) de la JVM version 1.4. L'architecture de débogage de la plate-forme Java (JPDA) prend désormais en charge la possibilité de remplacer le code source d'une application en cours d'exécution. Ceci est particulièrement utile lors de l'exécution une application ou trouver des endroits où elle « s'effondre » prend beaucoup de temps.

Fonctionnalités intéressantes dans les prochaines versions d'Eclipse

Une caractéristique très intéressante d'Eclipse est la rapidité avec laquelle les bogues sont détectés et avec laquelle les développeurs répondent aux divers besoins et souhaits des utilisateurs. Le Consortium Eclipse publie mensuellement les dernières versions, qui incluent des versions stables de diverses fonctionnalités qui intéressent les utilisateurs (ces versions contiennent les identifiants M1, M2, M3, etc.) Parmi les fonctionnalités incluses dans la version 2.1 M3 figurent les suivantes, les plus importantes :

  • - Raccourcis clavier personnalisables, y compris un ensemble de raccourcis similaires à ceux trouvés dans Emacs ;
  • - possibilité d'insertion automatique FAIRE, RÉPARE-MOI et d'autres commentaires de balises dans le code Java, dans divers éléments et listes de tâches ;
  • - prise en charge améliorée de CVS, y compris la possibilité de définir des "ensembles de travail" qui limitent le nombre de projets affichés sur le panneau Référentiels CVS;
  • - de nouveaux brouillons dans l'éditeur Java permettant d'afficher le code source, la Javadoc, les messages d'erreur détaillés pour chaque ligne de code ou expression dans une fenêtre "déroulante" (info-bulle) ;
  • - prise en charge de plusieurs nouveaux refactorings ;
  • - nouveau panneau Threads et moniteurs dans le débogueur, qui vous permettent de déterminer lesquels des "threads" (threads) bloquent les ressources, lesquels sont en attente et d'autres informations utiles pour le débogage des applications multithreads ;
  • - intégration plus étroite avec l'outil de construction Jakarta Ant ;

Cette dernière caractéristique fait d'Eclipse un environnement bien composé pour développer des applications Java et, en particulier, développer des applications Web. Eclipse combine tous les outils dont un développeur a besoin pour développer avec succès des applications Web : un IDE extensible, un compilateur standard, le débogage à distance, le support Ant, les tests JUnit, des plug-ins pour interagir avec presque tous les serveurs d'applications, ainsi que le conteneur EJB.

Ressources

  • eclipse.org (http://www.eclipse.org/)
  • FAQ du projet Eclipse (http://www.eclipse.org/eclipse/faq/eclipse-faq.html)
  • Présentation technique de la plate-forme Eclipse (

Java est un langage de programmation de haut niveau développé par Sun Microsystems en 1995. A ce jour, le développement de cette technologie est engagé dans la société JCP (Java Community Process). L'une des principales caractéristiques du langage est la compilation, qui est effectuée directement lorsque le programme est assemblé.

Le code est transformé en bytecode puis exécuté dans la machine virtuelle Java. La JVM agit comme un traducteur qui relie un langage de programmation aux composants nécessaires d'un ordinateur. Ce principe permet aux programmes de fonctionner sur tous les systèmes où une machine virtuelle est installée.

Caractéristiques du langage de programmation

Le langage Java orienté objet et typé possède de nombreuses fonctionnalités utiles aux développeurs. Parmi eux figurent les suivants :

  • Facilité d'apprentissage. Des connaissances de base en programmation orientée objet seront suffisantes pour une maîtrise confortable du langage.
  • Méthodologie orientée objet. Les programmes sont constitués d'objets qui peuvent être facilement étendus et adaptés pour atteindre vos objectifs.
  • Sécurité. Le chiffrement à clé publique fournit les meilleures méthodes d'authentification.
  • Indépendance de la plateforme. Les programmes écrits dans le langage sont compilés en bytecode qui peut s'exécuter sur absolument n'importe quelle plate-forme de systèmes d'exploitation modernes.
  • Portabilité. Un langage de programmation ne dépend en aucune façon des aspects d'implémentation des spécifications.
  • Force. La machine Java est capable de faire face à de nombreuses erreurs en raison de la concentration du développeur et de l'accent mis sur la vérification constante et la réduction du temps de compilation.

De plus, ce langage est très courant, car il se caractérise comme étant multithread, performant, interprété et dynamique.

Fonctionnalités des plates-formes de programmation Java

Il existe plusieurs implémentations de cette plateforme, parmi lesquelles Eclipse occupe une place particulière. L'environnement de développement pour les applications multiplateformes modulaires comporte un certain nombre de fonctionnalités obligatoires qui sont également présentes dans d'autres produits similaires. Parmi eux se trouvent :

  • Technologies courantes pour le déploiement de programmes dans un environnement utilisateur.
  • Outils pour créer des interfaces graphiques de toute complexité.
  • Bibliothèques pour le contrôle à distance des objets et l'accès programmatique aux données.
  • Outils pour le lancement, le débogage, la compilation, la surveillance et d'autres actions avec des applications.

Qu'est-ce qu'Eclipse ?

Eclipse est un environnement de développement actuellement contrôlé par la Fondation Eclipse. Il fournit un code open source, qui offre de nouvelles opportunités aux développeurs. Il est écrit en Java et vise à améliorer le processus de création de logiciels.

Ce projet est une infrastructure qui fournit des services de base importants pour les développeurs. Les outils disponibles vous permettent de créer de nouvelles technologies dans Eclipse. L'environnement de développement n'est pas simplement une collection d'API - il peut gérer des tâches à part entière.

Un grand nombre de plugins open source offre des possibilités illimitées aux développeurs de boîtes à outils. Tous les ajouts peuvent être ajoutés au programme, ce qui vous permettra finalement de le personnaliser et de l'adapter à n'importe quelle tâche.

Fonctionnalités de la plateforme

L'environnement de programmation a les fonctionnalités suivantes :

  • Un large assemblage d'API pour ajouter de nouveaux modules, ainsi qu'un cadre pour programmer toutes les extensions.
  • Prise en charge de tous les systèmes d'exploitation courants.
  • La programmation dans la plupart des langages connus permet exactement Eclipse - environnement de développement. C Sharp (C#), Java, PHP, C, Python, C++ et de nombreux autres langages sont pris en charge par ce programme.
  • La technologie RCP est disponible, dont les capacités seront suffisantes pour développer des logiciels clients de n'importe quelle complexité et échelle.
  • La modularité du programme offre une commodité et une flexibilité incroyables dans le travail.

Le projet Eclipse continue d'évoluer dans de nombreuses directions. Le programme s'améliore constamment, élargissant ses fonctionnalités en ajoutant de nouveaux plugins.

Architecture de la plateforme

L'environnement de programmation se compose de plusieurs éléments de base. Premièrement, il s'agit du Runtime Eclipse, qui est responsable du fonctionnement des modules et des plugins. Ce runtime inclut des fonctionnalités de base. Cela inclut la gestion des mises à jour, l'interaction avec le système, la configuration des plugins, le maintien de la santé de la section d'aide.

Deuxièmement, c'est l'IDE lui-même, responsable de la gestion des projets, des éléments principaux du programme, ainsi que du débogage, du développement en équipe et de la recherche parmi les fichiers.

Des plugins tels que PDE et Java Development Tools sont également inclus avec Eclipse. L'environnement de développement des programmes Java et des nouveaux add-ons devient beaucoup plus fonctionnel avec l'utilisation de ces plug-ins.

Exemples d'autres builds spécialisés

Le SDK Eclipse ci-dessus est l'une des versions de la plate-forme. Plusieurs autres versions de l'IDE sont disponibles avec des fonctionnalités uniques, à savoir :

  • Pour les développeurs Java EE. La version est destinée à la programmation d'applications d'entreprise ou Web à l'aide de Java EE.
  • Pour les développeurs Web JavaScript. Une version pour créer des produits Web à l'aide de CSS, XML, HTML et JavaScript.
  • Pour les développeurs Java. Version pour la programmation en Java.
  • Pour les développeurs C/C++. Assemblage pour la programmation en C++ et C.

Chaque version a des fonctionnalités uniques, mais la fonctionnalité de base pour les débutants est entièrement fournie par l'Eclipse standard (environnement de développement). Des leçons à ce sujet sont disponibles gratuitement sur le net, ce qui simplifiera grandement l'étude du programme.

Produits concurrents

Cet environnement de développement a de nombreux concurrents, mais il est impossible de choisir finalement le meilleur représentant. Eclipse peut être considéré avec confiance comme le plus populaire. Presque tous les développeurs l'ont utilisé, grâce à un certain nombre d'avantages indéniables.

Lors du développement d'applications mobiles, Eclipse (environnement de développement) est souvent utilisé. La plate-forme Android évolue rapidement et le support du langage Java de l'IDE attire les développeurs. Cependant, il convient de noter que ses capacités sont beaucoup plus importantes.

Le principal concurrent du programme en question est le produit NetBeans, et il est entièrement gratuit. Vous devrez payer la licence Eclipse, ce qui effraie certaines personnes. Les autres produits concurrents incluent IntelliJ IDEA, JDeveloper, Android Studio, DrJava et MyEclipse. Mais beaucoup considèrent Eclipse comme le meilleur. L'environnement de développement plaît aux utilisateurs depuis de nombreuses années et ne cesse de le faire !

Introduction

À cette époque, les technologies de l'information sont devenues populaires et se développent rapidement à chaque seconde de notre vie. Les progrès technologiques et informationnels, en particulier ces dernières années, ont fait un énorme pas en avant. L'humanité moderne se transforme rapidement en une société de l'information, et cela se produit particulièrement dans les pays en développement rapide qui accordent une grande importance au développement de la technologie et de la technologie de l'information.

De nombreuses personnes ont des ordinateurs, qu'il s'agisse d'ordinateurs personnels de bureau, d'ordinateurs portables ou d'ordinateurs de poche, ainsi qu'un accès à Internet avec une énorme quantité de divertissements et de ressources intéressantes, ou à un réseau local rempli de divers services de divertissement. En conséquence, les gens apprennent à se connaître et il devient possible de communiquer à distance, afin de faciliter cette tâche, à notre époque il y a beaucoup de solutions, ce diplôme était consacré au développement d'un moyen de communication entre les personnes en en temps réel à distance.

Les applications modernes doivent être sécurisées, performantes, distribuées et indépendantes de l'architecture. Tous ces facteurs ont conduit à la nécessité d'un nouveau regard sur le processus même de création et de distribution d'applications sur une variété de machines d'architectures diverses. Les exigences de portabilité nous ont obligés à abandonner la méthode traditionnelle de création et de livraison de binaires contenant du code natif et, par conséquent, liés à une plate-forme spécifique.

Java est un langage orienté objet qui est pratique et fiable à utiliser en raison de ses avantages tels que le multitâche, la prise en charge des protocoles Internet et la multiplateforme. Java est un langage interprété et chaque programme Java est compilé pour une machine hypothétique appelée Java Virtual Machine. Le résultat d'une telle compilation est le bytecode Java, qui à son tour peut être exécuté sur n'importe quel système d'exploitation, à condition qu'il existe un système d'exécution Java qui interprète le bytecode dans le code machine réel d'un système particulier.

Les objectifs du cours sont d'étudier le langage de programmation orienté objet Java et de créer du code dans le langage Java.

Description de l'environnement de développement

Environnement de développement intégré Eclipse

Description de l'environnement de développement Eclipse

Il existe de nombreux IDE pour le développement Java. Un exemple sont:

3. IDÉE IntelliJ.

L'environnement de développement intégré Eclipse a été choisi pour le développement des travaux de cours.

Eclipse est l'un des meilleurs outils Java créés ces dernières années. Le SDK Eclipse est un environnement de développement intégré (IDE) open source. L'environnement de développement Eclipse est un environnement de développement modulaire basé sur le noyau logiciel et des interfaces permettant d'écrire et de connecter des modules complémentaires (plugins, plugin). Ainsi, l'environnement Eclipse peut être utilisé non seulement pour écrire des applications en langage Java, mais aussi à d'autres fins, selon les plugins installés.

Les principaux outils Java d'Eclipse incluent : un éditeur de code source (création et modification du code source des programmes), des outils de débogage et une intégration avec Ant.

Lors de la première introduction à l'IDE Eclipse, cela peut sembler un peu intimidant pour l'utilisateur non formé. Afin de comprendre les bases de l'utilisation du système, vous devez comprendre les concepts de base de l'environnement : l'espace de travail, les outils, les mises en page, les éditeurs et les vues.

Dans le cas le plus simple espace de travail (espace de travail) - il s'agit du répertoire de projet de l'utilisateur où se trouvent les fichiers de projet. Tout ce qui se trouve dans ce répertoire est considéré comme faisant partie de l'espace de travail.

Les outils Eclipse sont disponibles dès le lancement de l'application. Il s'agit essentiellement d'une plate-forme elle-même avec un ensemble de diverses fonctionnalités de menu principal, où se distingue tout d'abord un ensemble d'opérations de gestion de projet. Le traitement proprement dit est généralement effectué par des modules complémentaires (plugins), par exemple, l'édition et la visualisation des fichiers de projet sont effectuées par JDT, etc.

Les outils (workbench) comprennent un ensemble d'outils correspondants éditeurs et représentations placé dans l'espace de travail Eclipse (Figure 6). Pour une tâche spécifique, un ensemble spécifique d'éditeurs et de vues est appelé perspective ou disposition.

Disposition ( perspective) est un ensemble de vues et d'éditeurs dans l'ordre souhaité. Chaque mise en page a son propre ensemble d'outils, certaines mises en page peuvent avoir des ensembles d'outils communs. Une seule mise en page peut être active à la fois. La commutation entre les différentes mises en page se fait en appuyant sur les touches "Ctrl + F8".

À l'aide de mises en page, vous pouvez personnaliser votre espace de travail pour le type spécifique de tâche que vous effectuez. Le didacticiel utilisera des mises en page liées principalement à la programmation Java, telles que : Debug, Java Browsing, Java.

Eclipse a également la possibilité de créer des mises en page personnalisées.

Vous pouvez ouvrir la mise en page avec la commande Fenêtre / Ouvrir la perspective.

Éditeurs sont des outils logiciels qui permettent d'effectuer des opérations sur des fichiers (créer, ouvrir, modifier, enregistrer, etc.).

utilisateur du serveur de programmation de langage

Représentation sont essentiellement des ajouts aux éditeurs, qui affichent des informations de nature complémentaire ou supplémentaire, en règle générale, sur le fichier situé dans l'éditeur. Les vues peuvent être ouvertes avec la commande Fenêtre / Afficher la vue.

Projet ( projet) est une collection de fichiers d'application et de modules complémentaires associés. Lorsque vous travaillez avec Java, les fichiers avec les extensions suivantes sont principalement utilisés : . Java. jsp. xml.

Ajout ( plug-in) fait référence à une application qui peut éventuellement être installée dans Eclipse. Un exemple de module complémentaire serait JDT.

Maître - c'est un outil logiciel qui aide l'utilisateur à configurer et à effectuer une opération complexe. Eclipse dispose de nombreux assistants différents qui rendent le travail de l'utilisateur dans le système pratique et efficace, prenant en charge certaines des opérations de routine. Un exemple d'assistant peut être un assistant de création d'une nouvelle classe, qui aide l'utilisateur dans des opérations telles que la création d'un nouveau fichier dans le répertoire souhaité, la création du code de classe initial, le placement automatique de modificateurs, etc.

Configuration requise

Eclipse est conçu pour une large gamme de systèmes d'exploitation tels que Linux, Microsoft Windows et Mac OS. Pour l'exécuter, vous avez besoin de JVM (Java Virtual Machine) - une machine virtuelle Java, ainsi que de JDK (Java Development Kit) - un ensemble pour le développement Java.

Tableau 1 - Configuration système requise pour l'environnement de développement Eclipse

Installation de l'environnement de développement Eclipse

La première étape consiste à installer la version correcte des bibliothèques de support Java. Il peut être trouvé sur eclipse.org.

Après avoir installé Java VM, procédez à l'installation d'Eclipse. Nous allons sur la page de téléchargement des fichiers Eclipse (http://www.eclipse.org/downloads/), puis sélectionnons la dernière version prête (version) pour notre plate-forme.

Étant donné qu'Eclipse est basé sur Java, le logiciel nécessite le kit de développement Java (JDK) pour s'exécuter, un kit de développement d'applications Java gratuit distribué par Oracle Corporation (anciennement Sun Microsystems) qui comprend le compilateur Java (javac), des bibliothèques de classes Java standard, des exemples , documentation, divers utilitaires et Java Executive (JRE). Le JDK n'inclut pas d'IDE Java, donc un développeur JDK uniquement doit utiliser un éditeur de texte externe et compiler ses programmes à l'aide d'utilitaires de ligne de commande.

Figure 1 - Fenêtre d'installation du JDK

Lorsque le chargeur de démarrage Eclipse est lancé pour la première fois, une série d'étapes de configuration finales sont effectuées avant que l'environnement lui-même n'apparaisse (par exemple, la création d'un répertoire d'espace de travail pour stocker les fichiers de projet).


Figure 1.2 - Fenêtre de lancement d'Eclipse

mob_info