Revue de l'IDE Jetbrains Intellij Idea 8

Gildas Cuisinier

Voici mon avis sur la nouvelle version de Intellij IDEA 8, IDE de la société Jetbrains. Une alternative intéressante par rapport à Eclipse ou Netbeans ( Commentez ) ♪

- Titre : Revue de l'IDE Jetbrains Intellij Idea 8

- Auteur : Gildas Cuisinier

- Parution : 9 décembre 2008

- Licence : Copyright ® 2008 Gildas Cuisinier. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Revue

- Installation et configuration

- Partage de configuration

- Amélioration du support de Maven

- Éditeur de classes UML

- Console SQL

- Support de nouveaux frameworks

- Amélioration des supports existants

- Petits outils sympathiques

- En Vrac

- III. Conclusion

- Liens

- Remerciements

I - Introduction

À l'heure où Eclipse et Netbeans règnent sans conteste sur le marché des IDEs Java, des solutions alternatives existent cependant.
C'est le cas par exemple de Intellij Idea de l'éditeur Jetbrains.

Bien que celui-ci ne soit ni Open Source, ni gratuit, il n'en reste pas moins un excellent outil. Il est très bien fini, stable et supporte la plupart des frameworks Java les plus utilisés.
Bien que principalement orienté Java, il n'est pas limité à celui-ci : Groovy, (J)Ruby, GWT, JavaScript, Flex sont supportés.

Son support de Groovy et Grails est par ailleurs le meilleur à l'heure actuelle.

L'IDE et ses principales fonctionnalités ayant déjà été présentés par des revues de la version 6 par Baptiste Wicht ou Valère Déjardin, ainsi que ma propre review de la version 7, je ne m'attarderais que sur les principales nouveautés de la version 8.

II - Revue

Installation et configuration

Idea 8 ajoutant encore un nombre important de frameworks, cette nouvelle version permet lors du premier lancement de personnaliser le profil d'utilisation.
Cela se traduit par divers écrans permettant d'activer ou désactiver certains plug-ins.

L'intérêt est double selon moi. Le premier étant simplement d'améliorer les performances et la vitesse de démarrage. Les utilisateurs d'éclipse connaissent cela, plus il y a de plug-in, plus c'est gourmand et lent.

Le second intérêt permet aussi au développeur n'ayant pas lu cette review d'avoir une idée des fonctionnalités de l'outil qu'il va utiliser ;-)

Partage de configuration

Une autre nouveauté intéressante est le partage de la configuration entre plusieurs installations d'Intellij Idea.

Après avoir créé un compte sur le site de Jetbrains, votre configuration est automatiquement synchronisée.
Ce qui peut être pratique si vous avez vos propres raccourcis clavier et que vous devez travailler temporairement sur une autre station.

Via un autre mécanisme, il est possible de partager une configuration par équipe, et éviter le problème de différences lors de l'autoformatage du code par exemple (et donc les problèmes de merging CVS/Subversion).

Amélioration du support de Maven

La version 7 apportait la possibilité d'importer un fichier POM pour créer un projet Idea, la version 8 va plus loin en permettant directement la création d'un projet Maven.

Un assistant permet de définir le nom du groupe, de l'artefact ainsi que sa version, mais aussi de choisir un archétype à utiliser pour créer le template du projet.

À côté de cela, l'éditeur de POM propose une autocomplétion des plug-ins, des raccourcis pour ajouter une dépendance,etc.

Pour information, le bug concernant le lancement de Jetty via le plug-in Maven semble résolu.

Éditeur de classes UML

Une autre nouveauté dans Idea est l'apparition d'un éditeur de diagramme de classes. Il ne remplacera certainement pas un outil commercial dédié à l'UML, mais reste un petit outil pratique.

L'éditeur permet de visualiser un package, d'ajouter une classe, de lui ajouter des attributs, méthodes ou constructeur.
Le tout étant directement synchronisé avec le code Java.

Console SQL

Un des manques de Idea était de ne pas avoir d'outil pour créer et exécuter des commandes SQL, un outil externe devant dès lors être utilisé.

Cette nouvelle version apporte à la fois un éditeur SQL proposant une complétion pour le SQL standard, mais aussi pour des dialectes spécifiques tels que Oracle, Mysql ou SQLLite.

Une fois le script créé, il sera possible de lancer celui-ci et de visualiser le résultat.

Une fonctionnalité intéressante concernant l'autocomplétion des noms de tables est qu'Idea peut se baser sur une base de données existante en effectuant l'analyser des métadonnées. Mais il peut aussi se baser sur un script de création de tables et donc sur une base de données non existante.

Support de nouveaux frameworks

Traditionnellement, les nouvelles versions de Idea apportent le support de nouveaux frameworks ou outils à la mode. Cette release ne déroge pas à la règle.

Au niveau Web, citons par exemple Struts 2, JBoss Seam ou encore GWT 1.5.

N'ayant jamais utilisé ces frameworks, je ne saurais juger de la qualité de l'intégration dans l'IDE. Mais d'après ce que je sais, on peut compter sur des aides à la configuration, des outils de vérification, ou encore un éditeur visuel de pageflow pour JBoss Seam.

Le support des services REST et de la JRS-311 est aussi un apport de cette version.

Les deux moteurs de template Java, Velocity et Freemarker, sont aussi gérés avec un éditeur doté d'une autocomplétion.

Amélioration des supports existants

Concernant Spring, cette nouvelle version gère correctement Spring 2.5 et en particulier les annotations (@Component, @Service, @Repository, @Qualifier).
Le support de Spring DM est aussi une nouveauté, ainsi que de Spring WebFlow (et de son éditeur de flow visuel).

Le support de Grails se voit amélioré par diverses nouveautés. Une particulièrement pratique est l'autocomplétion des attributs dans les Tags Grails. Avant il était nécessaire de lire la documentation ou le code pour connaître les divers attributs possibles.
Les plug-ins peuvent maintenant être directement intégrés via l'IDE, et ne nécessitent plus l'utilisation de la ligne de commande.

Petits outils sympathiques

D'anciens petits plug-ins utiles ont été directement intégrés dans l'IDE.

Le premier sera particulièrement utile aux développeurs de produits open source, car il permet d'ajouter ou remplacer le texte de la licence dans les fichiers.
Exit les copier/coller et les vérifications manuelles !

Un deuxième exemple est l'intégration d'un évaluateur XPath. Pratique aussi pour ceux qui ne disposent pas d'outil comme XMLSpy et qui s'arrachent les cheveux avec une expression XPAth !

En Vrac

Voici une liste d'autres fonctionnalités ou supports ajoutés dans cette version que je n'ai pas la possibilité de tester par moi-même :

- support de Git ;

- support de Team Foundation Server ;

- Support des jobs de Peforce ;

- Debugger Flex.

III - Conclusion

Idea 8 reste fidèle à la qualité des précédentes versions, le support des nouveaux frameworks particulièrement bien choisis et les nouveaux petits outils intégrés souvent des plus utiles.

Idea reste selon moi une alternative intéressante pour le développement Java. Le seul problème est son prix, qui en rebutera plus d'un vers Eclipse ou Netbeans qui sont aussi de très bonne facture.
Par contre, pour ce qui est développement Groovy et Grails, en attendant de voir le travail de SpringSource pour un support de qualité dans Eclipse, Idea reste clairement la référence, et permet à cet IDE de se démarquer véritablement des autres.

N'hésitez pas à réagir sur cette critique ou d'exprimer vos expériences avec Intellij Idea : Commentez

Liens

- Site de Jetbrains

- Site de Grails

- Critique de la version 6 par Baptiste Wicht

- Critique de la version 6 par Valère Déjardin

- Critique de la version 7

Remerciements

Je remercie la société JetBrains de m'avoir mis une licence à disposition afin de faire cette critique.
Je remercie aussi dourouc05, longbeach, Ricky81 et Baptiste Wicht d'avoir pris le temps de relire celle-ci.