Accueil > Java > Les Environnements Intégrés de Développement en Java sur Mac

Les Environnements Intégrés de Développement en Java sur Mac

Par Daniel H. Steinberg, 16/04/2002

Traduit par Thierry, 21/08/2002

Bien sûr, cet article aurait du être publié mi-mars pour terminer le concours lancé sur ce thème. Il aurait été bien d’inclure ma recette favorite de la sauce pour Caesar Salad. (NDT : Rapport à la requête formulée par Daniel dans son précédent article.). Cela n’arrivera pas. Si vous le souhaitez, je peux vous rapporter un mot d’excuse de ma maman. Beaucoup d’entre vous m’ont transmis leur IDE (Integrated Development Environments) favoris et je les ai tous essayés. J’espère que vous serez encore plus nombreux à contribuer à cette discussion.

Jusqu’à mi-décembre encore je ne me servais jamais d’IDE sauf comme outil d’enseignement. J’utilisais toujours un éditeur de texte et un outil à lignes de commande pour mes travaux. Quand j’enseignais, j’utilisais l’environnement supporté par l’école. J’ai même pistonné les IDE que je préférais auprès des écoles désireuses de mettre en place un environnement standardisé. Pour la plupart, les étudiants utilisent des bécanes Windows pour développer.

Durant les quatre dernières années, j’ai la plupart du temps recommandé JBuilder aux écoles. Borland (http://www.borland.com), le créateur de JBuilder, offre une license généreuse pour les organisations académiques et prodigue un outil solide qui tourne bien sur différentes plate-formes. Je m’en suis quelques fois servi chez moi et j’ai vraiment apprécié la plupart de ce qu’ils y ont introduit. Il fonctionne bien sur Mac OS X et inclut des fonctionnalités qui ne sont pas disponibles dans d’autres IDE. J’ai apprécié de me servir de JBuilder et j’y ai reconnu l’engagement et les contributions de Borland dans la promotion du langage Java sur Mac.

Ceci étant dit, j’utilise maintenant IDEA de JetBrains (anciennement IntelliJ) pour mes travaux quotidiens. Il n’y a pas d’outils RAD (Rapid Application Development) et ça n’est pas aussi soigné que certaines offres concurentes. Ils n’ont rien fait pour fournir le support de l’apparence et du style Mac. D’un autre côté, le support du coding est presque parfait. IDEA m’a aidé à écrire du code. Il arrive à penser à des choses avant que je ne le fasse et me le fait savoir d’une manière élégante. Il m’aide à écrire et à réécrire du code.

Par exemple, après avoir retiré deux méthodes d’une classe et n’avoir donc plus besoin de l’instruction d’importation, il m’a indiqué par le biais d’un rappel visuel délicat que je pouvais retiré cette ligne de code. Leur slogan est “Développer avec Plaisir”, et je pense qu’ils ont rendu cela possible.

Dans cet article, je vous parlerai de JBuilder, d’IDEA et de quelques autres IDE. Il y a un gros soucis que j’aborderai en préambule : regardez le nombre de possibilités qui s’offrent à vous pour développer en Java sur Mac OS X.

En se projetant un peu dans le futur, Apple va tenir sa conférence mondiale des développeurs (Worldwide Developers Conference-WWDC) le mois prochain à San José. La Page Web promet que la WWDC de cette année est axée sur le futur de Mac OS X. Apple a aussi annoncé que nous pouvons espérer une béta du JDK 1.4.

Si vous n’êtes pas membre de l’Apple Developer Connection (ADC), il est temps de vous inscrire gratuitement (http://developer.apple.com). Bien qu’ils n’aient pas fait d’annonce concernant les détails de leurs modes de distribution des bétas du JDK 1.4 par le passé, Apple a mis les pré-releases à disposition de tous les membres ADC. Comme toujours, vous pouvez m’envoyer un mail à propos de cet article ou pour me suggérer des sujets à développer à DSteinberg@core.com, en mettant “O’Reilly Mac Java” dans l’objet du message.

Préambule

Apple a tenu deux sessions techniques et un BOF (Birds of a Feather — Groupe de discussion) à la Conférence JavaOne du mois dernier à San Francisco. Les sessions ciblaient essentiellement une assistance désireuse d’en savoir plus sur les intentions d’Apple vis-à-vis du langage Java sur Mac OS X.

Ted Goldstein, le nouveau type d’Apple en charge de Java et d’autres choses, a présenté un tour d’horizon de ce qu’est Java sur Mac OS X. Le titre actuel de Goldstein est vice-président, Outils de Développement. Après avoir mis l’accent sur J2SE sur Mac OS X (NDT : JavaTM 2 Platform, Standard Edition), il a listé les différentes offres J2EE (NDT : Java 2 Platform, Enterprise Edition) certifiées de Pramati and Lutris qui tournent sur cette plate-forme. JBoss et Orion tournent aussi très bien sur un Mac.

Goldstein a raconté comment, quelques heures avant la session, il avait approché les gars du stand Trifork pour les pousser à porter leur application sur Mac OS X. Une demi-heure plus tard, le portage était terminé. Pour Goldstein, ceci est une partie importante de l’histoire de Java sur Mac : ça marche.

Une chose intéressante est survenue dans le groupe de discussion JavaOne Mac. Alan Samuel, l’évangéliste des technologies Java d’Apple, et Allen Dennison, le responsable marketing des produits Java d’Apple, ont démarré la session en posant les inévitables questions avant qu’elles ne le soient. Ils ont affirmé que Java 1.4 était en bonne voie et que même si Apple avait déjà travaillé sur la version 1.4, il fallait avant tout se concentrer sur la livraison d’une solde version 1.3 de Java sur notre plate-forme.

Les membres de l’audience ont alors posé des questions sur telle ou telle fonctionnalité. L’une après l’autre, les questions étaient du genre “quand allez-nous voir” ceci ou du genre “quand allez-vous corriger” cela. Ce n’est pas inhabituel. L’équipe Swing de Sun a tenu le même genre de groupe de discussion la soirée suivante. Quand les développeurs sont à même de rencontrer les ingénieurs responsables d’une technologie qu’ils utilisent, ils ont toujours tendance à poser ce genre de questions. Alan, Allen, et les ingénieurs présents ont répondu à toutes les questions qu’on leur posait. Puis, la chose intéressante est survenue.

Jusqu’à présent, Goldstein se tenait silencieusement à l’écart contre un mur. Puis il a demandé s’il y avait quelque chose concernant Java sur Mac OS X que les gens appréciaient.

L’ambiance de la salle a alors complètement changé. Les développeurs Java de longue date ont levé leurs mains pour dire à quel point les problèmes soulevés étaient, la plupart du temps, mineures et qu’en général il appréciaient les performances de Java sur Mac. C’étaient comme si la famille des développeurs Mac de l’assistance avait réalisé qu’ils étaient face à une compagnie (NDT : Dans le sens “compagnonnage”).

La compagnie ne pouvait pas connaître le contexte de ces plaintes publiques sur les imperfections constatées dans le support de Java par Apple. Le commentaire de Goldstein était apte à réorienter les sentiments de la salle tandis qu’Alan, Allen et les ingénieurs présents étaient incapables d’esquiver les questions qu’on leur posait. Vers la fin de la session, les membres de l’audience recommençaient à poser des questions sur les prévisions de prise en compte de leurs fonctions chéries.

Après ce groupe de discussion, je vérifiais avec divers amis qui avait déjà travaillé avec Goldstein dans le passé et demandais si quelqu’un avait commis l’erreur de le sousestimer. Ils riaient tous et répondaient “Pas deux fois de suite”. La majeure partie des raisons qui explique la solidité de Java sur Mac est due au prédécesseur de Goldstein, Steve Naroff, et à la qualité des ingénieurs qui ont travaillé sur ce projet. La bonne nouvelle est que Naroff est toujours chez Apple. C’est un peu tôt pour le dire, mais je pense que nous avons de la chance d’avoir Goldstein en charge de Java chez Apple. Grace à ses liens étroits avec Sun, j’espère que Goldstein pourra aider Sun à voir la grande valeur ajoutée d’Apple dans l’histoire de Java.

Le problème de la 1.4 n’est pas un petit problème. Un des arguments tient dans le fait que Sun ne l’a terminée qu’en Février 2002 et que donc Apple n’est pas très loin derrière. Apple a toujours promis, pendant plus de quatre ans maintenant, de réduire l’intervalle de 60-90 jours séparant ses versions de Java des versions finales de Sun. Dennison a indiqué que, si le délai était un peu plus long cette fois ci, cela tenait dans le fait que les ingénieurs Java d’Apple avaient beaucoup travaillé dans l’amélioration des performances de la 1.3.1. La version 1.3.x était la première version de Java sur Mac OS X et Dennison mis en évidence que tout ce qui avait été apporté à la 1.3.1 serait payant au moment de passer à la 1.4.

D’un autre côté, le problème tient aussi dans le fait que les développeurs ont pu avoir accès aux versions béta de la 1.4 depuis plus d’un an maintenant. Si Apple souhaite que les programmeurs développent sur Mac OS X alors, beaucoup avancent l’argument suivant : Apple doit fournir ces pré-versions en plus des versions finales.

D’un point de vue pratique, Apple a répondu qu’elle ne pouvait mettre des ingénieurs sur un projet dont la cible était mouvante. Au sein des forums en ligne, des développeurs se sont demandés si les programmeurs qui souhaitaient le support de la 1.4 avaient vraiment besoin de la 1.4. Il y a eu des cas où les ingénieurs ont affirmé qu’ils avaient besoin d’une fonctionnalité particulière. On leur a souvent apporté des solutions de contournement, dans d’autres cas on leur a dit qu’il n’y avait pas d’alternative et qu’ils devraient attendre la 1.4.

La préoccupation cachée semble plutôt porter sur le futur de Java sur Mac. La question du type “Quand est-ce que la version xxx sera disponible sur Mac ?” a été posée depuis la première version de Java. A cette époque, les utilisateurs Mac devaient attendre plus d’un an pour disposer de la dernière version de Java sur leur plate-forme.

Considérez que Mac OS X n’est devenu le système d’exploitation par défaut que depuis quelques mois et qu’aucune version de Java 2 (c’est à dire les versions 1.2, 1.3 et 1.4) n’est supportée sur la plate-forme Mac Classic. Maintenant que Mac OS X est le système par défaut, Apple peut délivrer les versions de Java les plus récentes au travers de l’outil de mise à jour logiciel à la fois aux développeurs et aux utilisateurs finaux. Plus la base installée des Mac OS Classic décroit, plus grande devient l’histoire de Java sur Mac.

Les IDE

A la fois IDEA et JBuilder sont des choix de qualité pour le développeur Java sur Mac OS X. Je pense toujours qu’un nouvel iMac — avec un deuxième clavier et une deuxième souris, chargé avec IDEA — est un choix parfait pour l’Extreme Programming, mais j’apprécie aussi pas mal ce que JBuilder permet de faire.

Si vous cherchez des outils qui soient gratuits, Apple fournit Project Builder et vous pouvez aussi utiliser Net Beans ou JEdit. JEdit n’est pas un IDE complet, mais il a les fonctions que vous serez amené à utiliser dans la plupart des cas. Couplez le avec un AppleScript qui gèrera les autres taches (Voir Utiliser AppleScript pour compiler et exécuter du code Java) ou apprenez à travailler avec Ant, et vous aurez tout ce dont vous aurez besoin. Zut, vous aurez tout ce dont vous aurez besoin avec Emacs, vi, TextEdit ou BBEdit.

Traditionnellement, le favoris des développeurs Mac, Metrowerk’s CodeWarrior, est toujours l’IDE de choix des utilisateurs Mac qui codent en C ou en C++. Les gars de Metrowerks affirment que la plupart des portages de Mac OS Classic vers Mac OS X sont effectués sur CodeWarrior. Malheureusement, les outils Java manquent toujours. Pour être juste avec Metrowerks, il faut avouer qu’il y a une version différente derrière chaque personne. Il ne serait pas juste de comparer leur version vieille de plus d’un an avec les versions plus récentes d’autres vendeurs. CodeWarrior 8 est prévu pour être lancé cet été.

IDEA de IntelliJ

IDEA est mis à disposition par IntelliJ Software. La version actuelle est la 2.5.2, bien que vous puissiez prendre connaissance des bétas de la version 3.0 à l’adresse suivante http://www.intellij.com/eap. Le prix pratiqué est juste en dessous des 400$, mais il y a en ce moment une promotion à moitié prix pour Pâques sur une license personnelle. Une version académique est aussi disponible pour 99$. Pour faire tourner IDEA, ouvrez une fenêtre Terminal, naviguez vers le répertoire bin et lancez le script shell idea.sh. Vous devriez voir quelque chose qui ressemble à cela :

IDEA de IntelliJ software
IDEA d’IntelliJ software (Cliquez pour agrandir l’image)

La première chose que vous allez remarquée est qu’il n’a pas vraiment une apparence Mac. Actuellement, IDEA tourne nettement mieux sur mon Mac que sur mon PC mais, mise à part la barre de titre, la fenêtre d’IDEA ressemble beaucoup plus à une application Windows. La barre de menus est attachée à la fenêtre au lieu d’être placée en haut de l’écran comme dans toute application Mac standard. Ma position est moins extrême que d’autres à ce sujet. J’estime que dans un IDE il est assez facile d’utiliser la barre de menus de la fenêtre dans laquelle vous travaillez.

La troisième ligne de code incorpore une instruction d’importation qui n’est cependant pas requise. Sur la partie droite de l’écran, vous pouvez apercevoir un carré jaune qui signale que quelque chose de superflux est présent dans le code. Si je clique dessus, cela provoque la mise en évidence de la ligne en cause et l’apparition du message “L’instruction d’importation est redondante”. Je peux bien sûr choisir d’ignorer cet avertissement et le code sera compilé et exécuté sans problème.

S’il y a avait eu une erreur de syntaxe, la boite aurait été rouge et des petites lignes rouges m’auraient indiqué les lignes de code contenant une erreur. Comme avec les erreurs de compilation, corrigez d’abord les premières et voyez si les autres disparaissent. Un crochet ou une parenthèse oubliée peut rendre tout un bloc de code non compilable.

Une fonction sympathique d’IDEA consiste en la possibilité de configurer l’aide pour qu’elle soit présentée de façon à correspondre à votre style de codage. Si vous ne voulez pas voir les avertissements, vous pouvez les désactiver. Supposez que vous ayez introduit une variable d’instance de type Jframe. IDEA peut être configuré pour ajouter automatiquement l’instruction import javax.swing.Jframe ou import javax.swing.*. Il peut aussi juste insérer javax.swing devant Jframe là où vous l’avez tapé dans le fichier source.

Vous réglez ces paramètres par défaut de manière à ne plus être dérangé par l’aide que peut vous fournir l’IDE. Au départ, j’ai volontairement ignoré la plupart de l’aide fournie. Plus je travaille avec cet IDE et lui fait confiance, plus je tire bénéfice de cette aide. Un des mes outils favoris est le support de la réécriture. Cliquez sur le menu Refactor et vous y trouverez le support de vos fonctions de réécriture favorites.

Vous pouvez aussi réécrire des classes en mettant en valeur une classe dans la partie gauche de la fenêtre. Dans ce contexte, vous pouvez déplacer ou renommer des classes. Quand vous le faites, les noms correspondants sont changés et les imports modifiés. Vous pouvez aussi extraire l’interface d’une classe ou créer une super-classe à partir d’une classe donnée. Si vous jetez un oeil à la hiérarchie du projet, vous constaterez que CVS est supporté tout autant que Ant.

Je n’ai pas tendance à me servir des outils RAD. Si c’est votre cas, alors IDEA ne vous satisfera pas. D’un autre côté, pour ce qui est de la programmation, je l’apprécie de plus en plus jour après jour.

En apparté, en tant qu’enseignant IDEA est pour moi le meilleur outil pour examiner le code des étudiants. Je peux me servir d’options telles que “Find Usages” pour voir où sont appelées les méthodes et rapidement feuilleter leurs codes et essayer de comprendre ce qu’ils y font. IDEA me permet aussi de créer facilement des documents servant de base à la création de modèles dont le code est souvent le même (tels que des tests unitaires) et qui seront faciles à saisir.

JBuilder de Borland

C’est certain, je viens de m’extasier devant l’IDEA d’IntelliJ, mais j’apprécie aussi pas mal de choses dans le JBuilder de Borland. Vous pouvez obtenir JBuilder 6 à l’adresse http://www.borland.com/jbuilder et les prix varient de zéro pour l’édition personelle à 1.000 $ pour l’édition professionnelle et à 3.000 $ pour l’édition entreprise.

JBuilder est un exemple d’une application bien écrite entièrement en Java. C’est une application de première classe qui ressemble à une application Mac OS X native et se comporte comme telle. En fait, ces types qui se plaignaient dans le groupe de discussion des performances de Swing sur Mac OS X devraient comparer la réactivité de l’application JBuilder écrite en pure Java avec celle de l’application Carbon native qui s’appelle Word.

Après avoir installé JBuilder, vous double-cliquez sur son icône tout comme vous le feriez pour toute autre application native Mac. Voici une copie d’écran du code, présenté dans JBuilder, que nous avons vu avec IDEA auparavant :

JBuilder

JBuilder de Borland (Cliquez pour agrandir l’image)

Vous pouvez vous rendre compte que les ingénieurs de Borland ont réellement mis un point d’honneur à prodiguer une sensation à la Mac. JBuilder 6 est basé sur un code unique quelque soit la plate-forme. L’apparence et le comportement propres aux plate-formes ciblées donnent l’impression que JBuilder a été conçu spécifiquement pour chaque plate-forme. Borland s’est engagé très tôt dans Mac OS X et leurs ingénieurs ont aidé Apple à identifier les problèmes de portage de Java qui devaient être corrigés.

JBuilder fournit un grand nombre de fonctions de support de votre travail de codage. Comme on s’y attendait, quelques fonctions ne sont pas disponibles dans les éditions de bas prix. provides a great deal of support for working with your code. As expected, some of the features are not available in the lower-priced editions. L’écriture du code avec JBuilder est très réactive et très efficace. Changez le nom ou la signature d’une méthode dans le code et vous verrez ces changements immédiatement reflétés dans la liste des méthodes et des champs de classes sur la gauche. Tapez le nom d’une méthode et vous verrez apparaître une pop-up avec les signatures possibles. La phase d’écriture du code est aussi épaulée par l’inscription de commentaires JavaDoc pertinents.

JBuilder est très bien conçu et très configurable. Vous aurez la même sensation sur d’autres plate-formes, la version Mac semble pourtant mieux aboutie.

En plus des fonctions de support à l’écriture du code, JBuilder fournit les outils RAD pour vous permettre de dessiner votre interface GUI si vous le désirez. L’interaction entre la vue graphique et le code est rapide et juste. Vous pouvez modifier le code et voir les changements immédiatement dans l’interface, ou modifier la vue de l’interface et voir les changements dans votre code.

Il y a aussi une vue qui permet de travailler avec les JavaBeans qui vous permet de spécifier si le Bean est “serializable” ou pas, de régler les évènements que votre Bean peut déclencher ou écouter, et tirer partie de BeanInfo. JBuilder comprend aussi une vue permettant de regarder l’historique d’un document source. Vous pouvez aisément pister les changements apportés entre chaque version et revenir à une version antèrieure. Vous pouvez utiliser JBuilder avec un système de suivi de version tel que CVS, ou juste dépendre de la fonction d’historisation des versions dont votre machine a connaissance.

La vue UML donne une représentation de la classe courante avec une vue supplémentaire de toutes les classes qui collaborent avec la classe. Certains aspects de cette implémentation sont assez difficiles. Par exemple, dans l’image ci-dessous, la classe satellite.model.Satellite n’est l’extension d’aucune classe. En Java, cela signifie que la classe Satellite est une extension de la classe de racine commune java.lang.Object. Notez que cette relation est dessinée dans le diagramme. Ceci n’est pas vraiment standard. La classe Board du diagramme ci-dessous est une extension de la classe javax.swing.Jpanel. Vous ne verrez pas cette relation jusqu’à ce que vous sélectionnez la classe Board. Si vous la sélectionnez, alors, les champs, les méthodes et les relations de Board seront mis en évidence et la classe Satellite sera refermée. Ceci ne correspond pas vraiment au support de l’UML auquel nous avaient habitués des produits de Borland tels que Structure Builder.

Vue UML de JBuilder (Cliquez pour agrandir l’image)

Vous noterez deux options de réécriture présentes sur cette vue. J’espère que le support de la réécriture sera développé et amélioré dans le futur. JBuilder est une application arrivée à maturité qui contient un ensemble riche d’outils bien conçus. Il supporte la construction d’applications J2SE et J2EE.

Dans la majeure partie, je n’ai pas besoin de toutes les trucs qu’ils offrent, le prix est donc pour moi un peu trop fort. Bien sûr, votre consommation peut varier. Borland a été très bon dans l’intégration de la prise en compte des nouvelles techniques et technologies. Par exemple, ils ne supportent pas que les vues standard des exécutions de tests unitaires par JUnit, ils fournissent aussi leur propre vue qui vous permet de pister les erreurs de votre code en utilisant les résultats des tests unitaires. De ce point de vue, vous pouvez considérer que le prix de l’outil permettra de supporter le coût de futures développement.

Project Builder d’Apple Computer

La bonne nouvelle concernant Project Builder tient dans le fait qu’il est inclus dans les Developer Tools distribués gratuitement avec Mac OS X. Encore une fois, si vous n’avez pas encore souscrit une adhésion gratuite à l’ADC, vous devriez le faire sans hésiter. Jusqu’à présent toutes les mises à jour relatives à des logiciels pour développeurs ont toujours été publiées gratuitement sur le site ADC. Les outils les plus récents sont ceux de Décembre 2001 qui comportent le support d’AppleScript. Apple continue de développer son IDE. Pour l’instant le support de Java n’est pas son point fort.

Project Builder supporte de multiples langages et est donc une bonne solution de compromis. En tant qu’outil gratuit, il est prêt pour le développement en Java mais ne fait rien de plus que colorier la syntaxe et fournir un shell pour la compilation, la construction et l’exécution des applications. Une des forces de Project Builder tient dans le fait que c’est un produit Apple et qu’il produit des applications double-cliquables pour le Mac. Si vous souhaitez déployer vos applications sur d’autres Mac sous Mac OS X, PB facilite cette procédure. PB supporte aussi CVS. Voici une copie d’écran de la même application dans PB :

Project Builder by Apple Computer

Project Builder par Apple Computer (Cliquez pour agrandir l’image)

Une des requêtes les plus récurrentes de la part des développeurs Java est le support de Swing par Interface Builder. IB est un outil RAD qui permet de dessiner l’interface d’une application qui sera conforme aux directives Aqua (vous pouvez voir des copies d’écran d’IB dans l’article précédent). Vous ajoutez et manipulez de manière graphique les objets Aqua puis écrivez le code qui les supporte.

Par exemple, vous déposer un bouton à l’endroit désiré et écrivez le code qui détaille comment le bouton répondra à un click. Le support des applications Swing n’est pas implémenté dans IB. Ce serait bien que les développeurs Java puissent placer un bouton et ensuite remplir le code d’appel à une classe javax.swing.Jbutton.

Il y a bien sûr quelques problèmes de mise en forme. Les gestionnaires de mise en forme Java n’autorisent pas la mise en forme des applications avec respect des directives Aqua. Le fait d’avoir la possibilité de placer des composants en se servant d’IB serait d’une grande aise aux développeurs Java et rendrait PB beaucoup plus attirant. Vous pourriez même utiliser le bout de code généré par IB dans vos outils favoris.

NetBeans

Vous pouvez obtenir NetBeans à l’adresse NetBeans.org. Suivez les instructions pour décompresser et installer l’IDE.

En particuliers, vous aurez besoin d’utiliser “gnutar” et non StuffIt pour décompresser la version tar.gz. Vous devrez aussi modifier le script shell runide.sh localisé dans le sous-répertoire bin.

Ouvrez runide.sh avec TextEdit ou votre éditeur favoris. Vous verrez en haut du fichier la ligne suivante :

# the value set here can be overridden by $JDK_HOME or the -jdkhome switch jdkhome=" "

Entre les quotes, entrez l’emplacement de votre Home JDK :
/System/Library/Frameworks/JavaVM.Framework/Versions/CurrentJDK/Home. Sauvegardez les changements, lancez le script shell et NetBeans démarrera.

Vous pouvez effectuer d’autres modifications au script shell pour améliorer l’apparence et le comportement de NetBeans ou alors suivre les instructions d’installation et changer l’apparence et le comportement au moment de lancer le script shell en utilisant la commande suivante :

./ runide.sh -jdkhome /Library/Java/Home -ui com.apple.mrj.sing.MacLookAndfeel -fontsize 10

La première option règle le “Home” du JDK évitant ainsi de modifier le script shell. La seconde option autorise le “look and fell” d’Aqua, et le troisième règle la taille de la police de manière à ce que l’écran ait une apparence correcte. Voici une copie d’écran de NetBeans avec le “look and fell” d’Aqua :

NetBeans IDE 3.3.1

NetBeans IDE 3.3.1 (Cliquez pour agrandir l’image)

Si vous ne souhaitez pas trifouiller le script shell ou même ouvrir une fenêtre Terminal pour lancer votre IDE, voici comment faire. Les versions développeurs de NetBeans comporetent maintenant un “front end” à interface graphique (GUI) poour lancer l’application. Téléchargez la dernière version développeur, décompressez la et fouinez dans le répertoire bin. Vous y verrez une image disque nommée macosx_launcher.dmg.

Montez cette image, prenez le fichier NetBeansLauncher et placez le à un endroit adéquate (j’ai remis le mien dans le répertoire bin). Double-cliquez dessus. On vous demandea alors où se trouve le répertoire root. Naviguez jusqu’au répertoire NetBeans qui contient le dossier bin où vous avez trouvé le fichier dmg. Maintenant poursuivez et utilisez l’application pour lancer NetBeans.

Vous pouvez sélectionner Preferences à partir du menu Pomme et changer les réglages d’apparence et de comportement. Cette application n’est rien d’autre qu’un front end GUI au script shell. La seule manière de s’apercevoir qu’il y a quelque chose de changer tient dans la présence de deux icônes NetBeans dans votre dock. L’un correspond au lanceur, l’autre à l’application.

NetBeans est une offre open source qui est depuis repackagée et distribuée par Sun en tant que Forte. La plupart des aides présentes dans IDEA et dans JBuilder sont aussi présentes dans NetBeans. Si vous tapez “mover.” dans l’une des méthodes du fichier source, alors les méthodes et les champs disponibles provenant d’une classe du type Mover apparaissent dans une fenêtre de type pop-up. Vous disposez d’un large assortiment d’assistants pour travailler avec les Beans, les JSP, RMI, les Servlet, CORBA, et plus encore.

NetBeans comporte une tonne de fonctionnalités. A mon avis, les manques se situent au niveau de l’accessibilité et des performances. Dans un projet open source, il est amusant d’ajouter de nouvelles fonctions. Il n’est pas aussi amusant de passer du temps à améliorer la réactivité de fonctions existantes, et cela fait toute la différence d’un IDE pour les utilisateurs.

Je me sens ingrat de me plaindre d’un produit qui a été rendu disponible gratuitement par une communauté qui n’a pas été payée pour ses efforts. Je continue cependant de penser que NetBeans est un outil incommode à utiliser. Il en fait beaucoup, mais le simple fait de chercher comment réaliser une simple tache nécessite pas mal d’efforts. La création d’un projet à partir d’un ensemble existant de fichiers sources n’est plus difficiel une fois que vous avez compris comment le faire. Mais pour les débutants, il n’est pas évident de créer un projet et d’y ajouter des fichiers existants.

J’ai jeté un oeil aux menus File et Project et, je me sentis en pleine confusion durant un moment. Vous pouvez éviter la frustration de la prise en main en prenant le temps de lire les tutoriels et la documentation fournis. Par exemple, j’étais agacé de devoir travailler avec un bouquet de petites fenêtres jusqu’à ce que je remarque que j’aurais pu ouvrir l’Assistant de Réglages et pu choisir le mode plein écran.

Dans son livre Humane Interface, Jef Raskin jète les bases d’une interface intuitive. Souvent nous considérons les modèles familiers comme intuitifs et les modèles inhabituels, mais peut être mieux conçus, comme n’étant pas intuitifs. Ceci étant dit, j’ai trouvé que la prise en main de NetBeans était beaucoup moins intuitive que celle de JBuilder, d’IDEA ou de Project Builder.

Eclipse de OTI

Eclipse est un projet open source d’OTI qui constituera les fondations du “workbench” du WebSphere d’IBM. Eric Gamma (un de la Bande des Quatre et co-créateur de JUnit) mène la dance des outils Java. Il y a beaucoup de fonctions très puissantes et intéressantes dans Eclipse. Malheureusement, il n’est pas disponible pour le Mac. Eclipse est pourtant presque entièrement écrit en Java. Le point de désaccord repose sur le fait que l’équipe ait décidé de ne pas utiliser Swing mais leur non-standard SWT (Standard Window Toolkit) à la place.

Vous pouvez en apprendre plus sur Eclipse à l’adresse Eclipse.org. Sur la page dédiée à SWT il y a une liste de plate-formes cibles. Vous remarquerez que Mac OS X n’est pas présent, mais il est envisagé d’écrire une version Carbon de SWT. Andre Weinand conduit cet effort et recherche des développeurs intéressés par ce support. Vous pouvez trouver sa version du 22 Mars 2002 de SWT pour Mac OS X ici. Rejoignez le newsgroup SWT sur le site d’Eclipse pour plus d’informations.

jEdit

jEdit est un éditeur Java open source disponible gratuitement chez jEdit.org. Vous pouvez télécharger une version Mac OS X de l’application qui décompresse un fichier image disque (.dmg). Double-cliquez sur ce fichier et déposer le dossier résultant jEdit dans votre dossier Applications. Maintenant, double-cliquez sur l’application jEdit contenue dans ce dossier et vous pouvez utiliser jEdit comme presque toutes les autres applications natives. (En guise d’apparté, une des raisons qui me font attendre le portage par Apple du JDK 1.4 tient dans le support de la molette de pagination). La force de jEdit pour les développeurs Java provient des plug-ins fournies par la communauté. Voici une copie d’écran montrant quelques plug-ins disponibles :

jEdit

jEdit (Cliquez pour agrandir l’image)

En majeure partie, il n’y a rien ici qui ne pourrait être effectué avec BBEdit ou même avec Emacs ou vi. jEdit rassemble ces possibilités de manière plus jolie et rend l’appel de fonctionnaliltés fréquemment utilisées plus facile grace aux plug-ins. Là où je trouvais NetBeans excessif, d’autres trouveront jEdit bien pauvre pour un IDE ou trop riche pour éditeur de texte. Il m’est apparu respectueux du Mac et facile à utiliser. Je n’en attends guère plus de sa part, j’ai donc tendance à être plaisant avec ce qu’il m’offre.

En résumé

Il y a beaucoup de choses à considérer quand vous choisissez un IDE. Vous pouvez avoir des préférences ou des contraintes de budgets. Dans ce cas, vous devriez être plus intéressé dans les offres gratuites. Parmis elles, vous trouverez vi, Emacs, BBEdit Lite, TextEdit ou jEdit. Alpha, le préféré des utilisateurs OzTex, devrait être disponible pour Mac OS X dans un mois ou deux.

Si vous souhaitez disposer d’un IDE gratuit, vous opterez pour Project Builder d’Apple et pour l’édition personnelle du JBuilder de Borland, tout comme l’IDE open-source NetBeans. Project Builder n’est pas vraiment prêt pour Java ce qui pourraît ne pas correspondre à vos besoins. NetBeans fournit plein de fonctions mais son manque d’accessibilité et ses fonctions pouraient vous frustrer.

La version gratuite de JBuilder ne comprend pas tout ce que ces deux derniers offrent. De temps en temps vous vous surprenez à souhaiter qu’il fasse telle ou telle chose et à réaliser qu’il le ferait si vous achetiez la version payante. La version gratuite est conçue pour les amateurs et les étudiants mais pas pour les développeurs professionnels évoluant dans un environnement commercial.

Il ya d’autres IDE non couverts dans cet article. ArgoUML et BlueJ sont deux outils qui me viennent à l’esprit. Vous pouvez utiliser ArgoUML en tant qu’application Java Web Start ou la télécharger sur votre propre machine.

Parmis les IDE qui coutent de l’argent, mon favori est IDEA. Encore une fois, appréciez bien vos besoins. Si vous souhaitez le support d’outils GUI et effectuez beaucoup de développements en entreprises, vous devriez trouver que JBuilder 6 est un meilleur choix. Pour les projets à code intensif, à mon avis, IDEA fournit l’environnement le plus adapté aux développeurs. Enfin, à l’heure actuelle, je trouve que CodeWarrior de MetroWerks souffre de manque dans son offre Java par rapport aux autres outils. Peut être verrons nous des améliorations cet été avec l’appartition de leur nouvelle version.

Textes originaux en anglais sur O’Reilly : Java Programming on the Mac par Daniel H.Steinberg

Thierry Java ,

  1. 23/05/2009 à 19:07 | #1

    Tout à fait d’accord. Le problème est qu’à l’époque (2002), je traduisais beaucoup d’articles, trop d’articles, et les relisait trop rapidement. Je vais corriger celui-ci.
    Merci.

  2. Jacquemin
    23/05/2009 à 18:07 | #2

    Je préfère du bon anglais à du mauvais français. Il y a des fautes graves et impardonnables : comme “rièrent” à la place de “rirent” et “répondèrent” à la place de “répondirent, ou l’usage du participe passé à la place de l’infinitif lorsqu’ils ont la même prononciation.
    C’est pas possible de trouver un étudiant érudit qui veuille relire en échange d’une banane ou de quelque chose ?

  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire