« Développer en Java/Choisir un environnement de développement intégré » : différence entre les versions

Contenu supprimé Contenu ajouté
début de comparatif
Ligne 1 :
{{ébauche}}
{{Programmation Java}}
 
== EclipseIntroduction ==
 
; Eclipse : Projet communautaire initié par IBM, vous pouvez le [http://www.eclipse.org/downloads/ télécharger sur le site officiel de Eclipse].
{{...}}
; NetBeans : Projet initié par Sun
; IntelliJ IDEA : Projet initié par la société [http://www.jetbrains.com/ JetBrains], il existe une [http://www.jetbrains.com/idea/free_java_ide.html version « community » gratuite et open-source].
 
<gallery>
Vous pouvez le [http://www.eclipse.org/downloads/ télécharger sur le site officiel de Eclipse].
Image:Eclipse33 Ubuntu.png|Eclipse sous Ubuntu
Image:NetBeans_IDE_6.0_on_Linux.png|NetBeans sous Linux
</gallery>
 
== Considérations générales ==
[[Image:Eclipse33 Ubuntu.png|450px|center|thumb|Eclipse sous Ubuntu]]
 
Eclipse, NetBeans et IntelliJ sont tout trois disponibles pour GNU/Linux, Mac OS X et Microsoft Windows.
=== Fonctionnalités ===
 
{| class="wikitable"
* Un éditeur de code qui comprend la coloration syntaxique, le repli (de code ou de commentaire), l'auto-complétion des noms de méthodes ainsi que les paramètres. Au fur et à mesure de la saisie, Eclipse affiche un petit panneau sous le curseur qui liste toutes les méthodes qu'il est possible d'appeler.
! Critère
* Un panneau indique en permanence les problèmes que comporte votre application (déclaration manquantes, incompatibilités de types etc.) vous pouvez cliquez sur chaque problème listé et Eclipse vous envoie directement où le problème se pose dans le code
! Eclipse
* Eclipse peut générer du code : par exemple, si on précise une interface à la création d'une classe, toutes les signatures des méthodes à implémenter dans la nouvelle classes seront déjà présentes dans le nouveau fichier (avec les blocs de commentaires Javadoc qui vont avec).
! NetBeans
* Eclipse est livré avec son propre compilateur Java qui est de très bonne qualité, il peut néanmoins être interfacé avec gcj, OpenJDK, ou le compilateur Sun officiel.
! IntelliJ IDEA Community
* Des outils de remaniement (''refactoring'') sont intégrés. Par exemple, on peut renommer une variable, un attribut, une méthode, une classe et les changements seront répercutés dans tout le projet. Si un remplacement est douteux, un assistant vous proposera de valider la modification cas par cas.
|-
* Javadoc est intégré, il est possible de générer la documentation du projet. Une boîte de dialogue permet de configurer la génération (répertoire de sortie notamment)
! Cycle de release
* Eclipse peut gérer des projets. Il maintient les sources, la documentation et les fichiers compilés dans des répertoires différents. Il maintient le système de fichiers en fonction des packages que vous créez dans votre projet.
| 1 an
* Le flux de sortie est intégré dans un panneau si bien que tous les appels à <tt>System.out</tt> et <tt>System.err</tt> écrivent dans ce panneau intégré (en rouge pour <tt>System.err</tt>).
|
* Chaque ligne affichée de la pile d'appel de lancement d'une exception dans le panneau de sortie est un lien vers la ligne de code correspondante.
|
* Le debogueur intégré permet d'arrêter l'exécution aux points d'arrêts posés, et de poursuivre en mode pas à pas ou non.
|-
! Licence
| Eclipse Public Licence
|
|
|-
! Configuration requise<ref>Ces logiciels sont riches en fonctionnalité, il ne faut pas négliger les caractéristiques de la machine pour que l'IDE soit réactif et propose une expérience utilisateur agréable, sans latence</ref>
|
|
| 2 Go de mémoire vive
|}
 
=== ExemplesIntégration de modulesApache additionnelsMaven ===
 
{| class="wikitable"
Parmi les modules remarquables, on peut trouver :
! Critère
* [http://www.eclipse.org/vep/ Visual Editor] : un outil WYSIWYG qui permet de créer des interfaces graphiques en SWING. Vous pourrez dessiner rapidement, fenêtres, panneaux et boîtes de dialogues. Il ne vous restera plus qu'à faire le code de l'interface graphique spécifique à votre application (que faire à chaque évènement...)
! Eclipse
! NetBeans
! IntelliJ IDEA Community
|-
! Support de Maven
| style="background-color: #ffe;" | via l'extension [http://m2eclipse.sonatype.org/ m2e] qui apporte un support de maven incomplet mais suffisant. L'extension intègre un assistant pour modifier le POM et les dépendances décrites dans le POM sont considérées par Eclipse.
| style="background-color: #efe;" | natif
| style="background-color: #dfd;" | natif
|}
 
==== Intégration avec Subversion (SVN) ====
 
== Intégration avec les gestionnaires de version de code-source ==
[http://subclipse.tigris.org/ Subclipse] intègre le support de [[w:Subversion (logiciel)|Subversion]] à Eclipse.
 
{| class="wikitable"
Le support officiel de Subversion par Eclipse est le projet [http://www.eclipse.org/subversive/ Subversive].
! Critère
! Eclipse
! NetBeans
! IntelliJ IDEA Community
|-
! Support de CVS
| style="background-color: #dfd;" | natif
| style="background-color: #dfd;" | natif
| style="background-color: #dfd;" | natif
|-
! Support de Subversion
| style="background-color: #efe;" | via une l'extension [http://subclipse.tigris.org/ Subclipse]. Dans le futur, le support SVN devrait être nativement proposé via l'intégration de [http://www.eclipse.org/subversive/ Subversive].
| style="background-color: #dfd;" | natif
| style="background-color: #dfd;" | natif
|}
 
==== Intégration avecdes Mavenbibliothèques 2graphiques et d'outils ====
 
Le plug-in [http://m2eclipse.sonatype.org/ m2eclipse] intègre
* un éditeur de fichier POM
* un type de projet « projet Maven »
* la possibilité de récupérer un projet Maven sur un SCM (Source Code Manager tel que CVS ou SVN)
 
{| class="wikitable"
Ce plug-in s'interface avec Subclipse.
! Critère
! Eclipse
! NetBeans
! IntelliJ IDEA Community
|-
! SWING
| style="background-color: #ffe;" | l'extension [http://www.eclipse.org/vep/ Visual Editor] est un outil WYSIWYG qui permet de créer des interfaces graphiques en SWING qui génère du code d'une qualité critiquable.
| ?
| ?
|}
 
=== Prise en main ===
 
== Notes et références ==
 
<references />
{{clr}}
 
== NetBeans ==
 
[[Image:NetBeans IDE 6.0 on Linux.png|400px|center|thumb|NetBeans IDE 6.0 sous Linux]]
 
[[Catégorie:Programmation Java (livre)]]