# Développer en Java/Choisir un environnement de développement intégré

Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)

## Introduction
### Eclipse

    Projet communautaire initié par IBM, vous pouvez le télécharger sur le site officiel de Eclipse.

### NetBeans

    Projet initié par Sun

### IntelliJ IDEA

    Projet initié par la société JetBrains, il existe une version « community » gratuite et open-source.
* Eclipse sous Ubuntu
* NetBeans sous Linux

## Considérations générales

Eclipse, NetBeans et IntelliJ sont tout trois disponibles pour GNU/Linux, Mac OS X et Microsoft Windows.
| Critère | Eclipse | IntelliJ IDEA Community |
| Cycle de release | 1 an | |
| Licence | Eclipse Public Licence | |
| Configuration requise | | 2 Go de mémoire vive |

## Intégration de Apache Maven

| Critère | Eclipse | NetBeans | IntelliJ IDEA Community |
| Support de Maven | via l'extension 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. | natif | natif |

## Intégration avec les gestionnaires de version de code-source

| Critère | Eclipse | NetBeans | IntelliJ IDEA Community |
| Support de CVS | natif | natif | natif |
| Support de Subversion | via une l'extension Subclipse. Dans le futur, le support SVN devrait être nativement proposé via l'intégration de Subversive. | natif | natif |

## Intégration des bibliothèques graphiques et d'assistants

| Critère | Eclipse | NetBeans | IntelliJ IDEA Community |
| SWING | Les versions récentes d'Eclipse intègre l'extension Window Builder permettant de créer des interfaces graphiques en Swing et SWT permettant à la fois de générer le code à partir de l'éditeur graphique, et de charger l'éditeur graphique à partir du code. L'interprétation du code peut provoquer une exception, mais il suffit de relancer le parsing (parfois plusieurs fois) pour obtenir l'éditeur correspondant au code. L'extension 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. | ? | ? |
| JavaFX | ? | NetBeans propose JavaFX Composer | ? |

## Intégration d'outils de modélisation

| Critère | Eclipse | NetBeans | IntelliJ IDEA Community |
| Intégration d'un modeleur | La communauté Eclipse mets l'accent sur la modélisation, notamment via le projet Eclipse Modeling Framework. Plutôt que d'utiliser une extension, on préfèrera souvent utiliser un logiciel indépendant de Eclipse, ArgoUML qui est également basé sur EMF. TopCased est un modeleur plus complet basé sur la plate-forme Eclipse et offre de nombreuses possibilités mais en plus contraignant à l'utilisation que ArgoUML, on peut le télécharger en bundle indépendant de Eclipse. | ? | ? |

## Notes et références

* ↑ 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