Thursday, July 30, 2009

Revue partielle de la version Galileo

Je vais vous parler de ce que je connais le mieux dans cette nouveau version d'Eclipse.

Je veux parler en premier lieu du projet API Tooling. Ce projet a été introduit dans la version 3.4 de manière très succincte. La version incluse dans Galileo est beaucoup plus aboutie.

API Tooling fournit de nombreuses tâches ant pour pouvoir faire des validations lors d'un build ant. Ces tâches ant sont notamment utilisées dans les builds Eclipse eux-même depuis plusieurs mois.

La validation peut également être faite au fur et à mesure du développement à l'aide d'un builder. Chaque projet PDE (pour l'instant les projet Java ne sont pas supportés) peut être converti vers API Tooling.
Une fois ceci fait il suffit de paramétrer une "baseline" qui sert de référence pour la définition des APIs afin d'avoir une validation faite par API Tooling.

La fonctionnalité que je préfère est la validation des librairies. Ceci permet de s'assurer lors du développement que les types, méthodes et champs utilisés depuis les librairies correspondent bien aux environnements d'exécution spécifiés pour le projet.

Prenons un exemple. Si je définis un projet avec comme environnement d'exécution J2SE-1.4, je ne suis pas supposé utiliser de méthodes définies uniquement en J2SE-1.5 ou JavaSE-1.6. Malheureusement Eclipse utilise comme JRE par défaut celui qui est utilisé pour démarrer Eclipse.
Donc si j'utilise une VM 1.6 pour démarrer Eclipse et qu'ensuite je crée un nouveau projet PDE, je vais avoir des librairies 1.6 sur le classpath de mon projet. Si je n'installe pas de JRE 1.4 correspondant à l'environnement d'exécution que je veux utiliser, je peux très facilement (en utilisant l'assistant de code (Ctrl + Space)) utiliser par mégarde une mauvaise méthode.
API Tooling va valider tous les références dans les librairies pour s'assurer que toutes existent dans l'environnement spécifié dans le fichier MANIFEST.MF et non uniquement dans les librairies utilisées sur le classpath.
Cela garantit qu'à l'exécution le fichier jar généré fonctionnera bien sur une VM 1.4. Cette fonctionnalité n'est pas spécialement intéressante quand un seul environnement d'exécution est spécifié, mais elle devient par contre essentielle quand plusieurs le sont en même temps comme:
J2SE-1.4, OSGi/Minimum-1.1, CDC-1.0/Foundation-1.0,...

Voilà pour API Tooling. Je vous encourage vraiment à convertir tous vos projets PDE pour utiliser cette fonctionnalité.

L'éditeur HTML de WTP a également fait des progrès notables dans la version 3.5 (Galileo).

JDT fournit de nouveaux outils pour retravailler le code, des améliorations dans le formatteur de code, des nouveaux outils pour aider à coder (assistant de codage). JDT reste un environnement de référence pour développer en Java sur un nombre de plateformes impressionnant.

L'intégration de Subeclipse dans le train Galileo simplifie grandement l'utilisation de référentiels SVN. Je ne suis pas très familier avec SVN lui-même, mais j'ai pu facilement accéder à des référentiels SVN et sauver mon code sans être trop perdu par rapport au support intégré avec le SDK pour CVS.

J'utilise aussi régulièrement Mylyn qui je l'avoue me simplifie grandement la vie en intégrant un client Bugzilla directement dans Eclipse. Ça fonctionne toujours aussi bien. Mylyn permet également de mieux cibler le code sur lequel on travaille et permet de partager ce "contexte" avec d'autres personnes.

Bref, Galileo est une nouvelle version qui vaut le détour. Il me reste encore à découvrir beaucoup d'autres projets intégrés avec Galileo: CDT, EMF, GEF, ...

Si vous avez des questions, n'hésitez pas!

Bonne découverte à tous!

Olivier

No comments: