I. Sujet et participants

Image non disponible

Cette séance de chat fut dédiée à l'EDI NetBeans 5.0. Voici une courte présentation de nos deux invités de la soirée qui ont très aimablement répondu à toutes nos questions.

Ludovic Champenois (lu_do) a participé à la conception et au développement des modules J2EE pour NetBeans 4.1. Il a également participé à l'écriture du livre consacré à l'EDI NetBeans 4.1, paru chez Prentice Hall. Plus d'informations.

Alexis Moussine-Pouchkine (alexismp) est employé chez Sun France. Et on peut le rencontrer régulièrement sur le stand de Sun aux événements organisées en France et/ou Belgique, comme Javapolis par exemple. Il a également traduit en Français le célèbre livre de Joshua Bloch "Java Efficace" paru aux éditions Vuibert. Plus d'informations

II. Compte rendu

[vbrabant] Tout d'abord, merci à Ludovic et à Alexis d'avoir accepté de se joindre à ce chat.
Pour commencer, est-ce que tout le monde connaît les nouvelles fonctionnalités incluses dans NetBeans 5.0 ? Désirez-vous qu'Alexis et/ou Ludovic fassent le tour du propriétaire, avant de poser les questions ?

[bulbo] +1 pour le tour rapide

[vedaer] +1 pour le tour rapide

[vbrabant] OK. Qui commence ? Ludovic ou Alexis ?

[alexismp] On va se répartir le boulot, tiens.
C'est très in ces temps-ci de faire du "Client Riche". Une des nouveautés de NetBeans 5.0 béta, c'est de pouvoir utiliser la plate-forme Netbeans comme socle pour faire du client riche avec gestion des dépendances entre modules et de la gestion de version de ceux-ci (entre autre).
La fonction existe depuis un certain temps, mais elle est nettement plus simple d'utilisation avec cette version (gestion du packaging en module netbeans/NBM entre autre).

[lu_do] Je couvre la partie J2EE :
- nouveaux serveurs (bea, jboss)
- support web famework: jsf et Struts
- meilleur éditeurs jsp / xml
- possibilité d'enregister le nouveau serveur GlassFish (Java EE 5), en mode J2EE 1.4
Pour le serveur Sun (AS 8.1), le profileur est maintenant supporté: 1 seul clic sur un projet J2EE et le serveur est configuré en mode profileur.
Egalement la possibilité de créer des clients de web services dans des projets J2SE.

[alexismp] Il y a aussi bien entendu "Matisse", le nouveau builder graphique pour les applications Swing (Gfx es-tu là ?). L'ancien était pas mal, celui-là est incomparable.

Coté éditeur, il y a eu pas mal d'amélioration coté refactoring: voir ici. Il y a aussi la possibilité de contribuer vos propres refactorings.

Ensuite, toujours dans l'éditeur, il y a les "Java Hints": des propositions pour corriger automatiquement une erreur détectée (manque un try/catch ou une déclaration de variable par exemple).

Matisse
Démonstration de Matisse (cliquez sur l'image)

[Gfx]: Ce sont les équivalents des Quick Fixes d'Eclipse

[lu_do]: N'oublions pas aussi un grand nombre de bugs fixes, la qualité et la facilité d'usage toujours meilleure.

[bulbo]: Coté éditeur, j'ai entendu dire que des éditeurs genre emacs étaient supportés ..

[lu_do]: Le keybinding d'emacs, oui, je pense.

[lunatix]: entre netbeans 3.5 et cette version 5.0, il y a un énorme gouffre : que s'est il passé ? (plus grosse équipe ? autre méthode de travail ? dopage ?)

[lu_do]: réponse à lunatix: Entre la version 3.5 et la version 5, la communauté NetBeans s'est enfin réveillée face à la competition d'Eclipse, et cela se voit.

[bulbo]: lu_do > plutôt la possibilité d'utiliser emacs dans NetBeans .. du moins c'est ce que j'avais lu.

[Gfx]: bulbo : J'ai vu ca pour Sun Studio en effet, tu peux intégrer Emacs et VI dans l'interface mais je ne sais pas si c'est disponible pour NetBeans

[bulbo]: Mince, c'est ce que je trouvais de plus attractif dans cette nouvelle mouture ..

[Gfx]: bulbo : Il y a un module qui fait ça quand même. Il s'appelle "externaleditor" je crois.

Image non disponible
Module collab (cliquez sur l'image pour plus d'informations)

[alexismp]: Moi, une fonctionnalité que j'aime bien, c'est le module de collaboration, "collab". Besoin d'updater sa version beta sur l'update center, puis de créer un compte sur le serveur share.java.net. Et hop, on a un client de messagerie instantanée dans NetBeans. Pas mal pour les revues de code (édition partagée des fichiers sources) et autres méthodes XP.

[alexismp]: On passe aux questions ou je continue sur qq autres nouveautés?

[vbrabant]: Il y a encore d'autres nouveautés ?

[bulbo]: Ce que j'aurais aimé savoir c'est si les fonctionnalités de l'éditeur de NetBeans sont aussi disponibles depuis ces éditeurs ? Completion intelligente ..

[Gfx]: bulbo : depuis les editeurs externes integres dans NetBeans ?

[alexismp]: @vbrabant: l'extension "Mobility Pack" pour le développement J2ME a été mise à jour,
profiling (ex-JFluid). je ne sais pas si ce dernier sera dans la version finale de NetBeans 5 ...

[bulbo]: J'ai vu que le support CVS avait été completement revu ..

[lu_do]: Le profileur est un add-on sur NetBeans 5.0. Gratuit.

[christopheJ]: Le "Mobility Pack" m'a impressionné par sa facilité (Flow Editor, construction des interfaces...)

[bulbo]: A part l'accès aux fonctions de bases de CVS, y a t'il des fonctionnalités pour aider le développeur à mettre une version sur un projet complet par exemple ?

[lu_do]: Bulbo: oui, le module CVS a été entierement réécrit et est très 'orienté projet'.

[alexismp]: Question: à part CVS, vous utilisez quoi?

[Gfx]: TeamWare ^^

[alexismp]: Connais pas!

Image non disponible
Module CVS (cliquez sur l'image pour plus d'informations)

[bulbo]: J'ai essayé dans le temps
-visual source safe : très très limité ce truc
-Continous : très compliqué à l'usage autant pour l'utilisateur que l'administrateur
-SubVersion : pas convaincu qu'une usine à gaz pareille soit nécessaire pour le peu de fonctionnalités en plus par rapport à CVS

[vbrabant]: La QBuild 1 est sortie récemment. Y aura-t-il un Béta 2 ?

[lu_do]: Une béta 2 est effectivement prévue dans très peu de semaines

[alexismp]: Le support de Subversion arrivera après la version finale de NB5. L'intéret principal de Subversion, c'est sa capacité à ne pas perdre l'historique. Sinon, d'accord sur la partie mise en oeuvre...

[bulbo]: Vous auriez une URL concernant la partie CVS dans Netbeans ? J'ai un outil de gestion de version de projet basé sur la lib cvs 3.5 de netbeans, je vais peut-être pouvoir profiter des nouvelles fonctions.

[bulbo]: alexis > il n'y a pas que la mise en oeuvre. Le versionning lui-même est un peu déroutant à mes yeux et manque de souplesse.

[Gfx]: bulbo : http://www.netbeans.org/kb/articles/cvs-preview.html

[bulbo]: merci

[lu_do]: pour le nouveau CVS support: regarde la demo flash: http://www.netbeans.org/kb/articles/flash-cvs-announce.html

[vbrabant]: Bulbo voulait dire des liens concernant le module de développement. L'API du module CVS, en fait.

[bulbo]: Vincent > voilà .. un site allant dans les détails .. D'après ce que j'ai lu Netbeans ne semble pas intégrer des fonctionnalités permettant de gérer automatiquement une version d'un projet, à l'aide de tag par exemple ..

Image non disponible
Sun java Studio Entreprise

[vbrabant]: Question d'un lecteur qui n'a pu se joindre à nous: 1)Des outils de reverse engineering (au sens conception UML) sont-ils prévus dans la mouture finale de NB 5.0 ?

[lu_do]: Pas de support UML prévu intégré dans NetBeans 5.0.

[alexismp]: Pour UML (et reverse-engineering), c'est le job de Sun Java Studio Enterprise 8 (http://developer.sun.com/prodtech/javatools/jsenterprise/) sorti il y a qq jours et basé sur NetBeans 4.1. Je vous encourage à regarder ce qu'il en est, la séparation entre projet UML et projet Java est intéressante et la période d'évaluation de l'outil n'expire pas...

[lu_do]: le lien des APIs NetBeans: http://www.netbeans.org/download/dev/javadoc/

[vbrabant]: @Bulbo Et comment qu'ils font tu crois les développeurs de NetBeans pour tagger leur projet ?

[vbrabant]: Autre question du même lecteur:
2) A t-on des chances de voir Netbeans grignotter du terrain sur WSAD et Visual Studio en intégrant par défaut la gestion d'autres languages que java, je pense en particulier à C#, javascript et dans une moindre mesure à des langages grand système du type COBOL ?

[lunatix]: surtout javascript avec l'arrivée prévue de rhino script dans Java 6.

[bulbo]: vincent > comme les développeurs Eclipse je suppose .. brutalement

[Gfx]: Sun Studio gère C, C++ et Fortran

[alexismp]: C# ce serait "intéressant"...

[Gfx]: Et bizarre

[alexismp]: Disons que les langages de Scripts sont les plus probables.

[Gfx]: Peut etre Groovy un jour... si la JSR aboutit

[vbrabant]: Un lien pour java6 et javascript: Javascript n'a rien à voir avec Java !!! C'est vrai cela ?
Aussi à voir: le projet coyote: https://coyote.dev.java.net/

[alexismp]: Pas lié à NetBeans, mais intéressant à lire sur Rhino dans Mustang: http://blogs.sun.com/sundararajan

Image non disponible
Rhino Javascript

[vbrabant]: Question d'un autre lecteur sur les composants visuels: Sous Netbeans 4.1, lorsque l'on crée visuellement une JTable (GUI) et que cette table possède un nombre de colonnes et de lignes fixes pas de problèmes... Par contre lorsque l'on utilise ce même composant JTable (créé en GUI) où l'on ne connait pas forcément d'avance le nombre de lignes que le tableau va posséder (exemple dans le cas d'un tableau d'amortissement...), utiliser un addrow n'est pas des plus facile.
Est-ce plus facile avec 5.0 ?

[Gfx]: Eh bien tu ne fais pas cela dans le GUI Builder
Il faut passer par un TableModel personnalisé

[vbrabant]: A quand un livre expliquant comment créer des modules NetBeans et/ou des applications basées sur la plateforme NetBeans. Car celui d'oreilly est un peu dépassé ?

[lu_do]: Pour le livre, nous sommes en discussion avec l'éditeur... J'espère qu'on aura un livre sur NetBeans Platform RCP en 2006.

[lunatix]: et Swing : l'interface de NetBeans 5.0 est bien plus rapide et réactive que celle de la version 3.5 : c'est grâce aux développeurs de Swing ou de Netbeans ? (ne vous battez pas !!!).

[Gfx]: Les deux

[lu_do]: L'équipe Swing (Gfx and co) travaille admirablement bien avec l'équipe NetBeans: TeamWork!!!

[lunatix]: comment avez vous procédé pour arriver a ce résultat ?

[lu_do]: A Lunatix: depuis NetBeans 4.0, donc 4.1 et 5.0, l'amélioration des performances de NetBeans a été un critère principal.

[vbrabant]: Déjà des projets pour l'après NetBeans 5.0. J'ai vu un message passé sur une possible intégration de Jackpot dans NetBeans. Vous pouvez en dire plus à ce sujet ?

[lu_do]: En attendant le livre sur RCP, il faut lire les très bons tutoriaux sur le site de Netbeans.

[alexismp]: Le travail de performance a commencé avec 3.5.1 et ne s'est jamais arreté. C'est devenu vraiment visible dans la 4.x. L'équipe de performance NetBeans tout comme l'architecte (?) Trung sont très compétents...

[vbrabant]: Pour ceux que cela intéresse: traduction française des brouillons du livre concernant NetBeans 4.1: http://fr.netbeans.org/servlets/ProjectDocumentList?folderID=29

[vedaer]: Pourriez vous nous en dire un peu plus sur l'équipe NetBeans ? Combien êtes vous ? Quels sont les rôles de chacun ? Quel EDI utilisez vous ?

[lu_do]: Jackpot est un projet de Sun Labs (Gosling and co) sur des outils de transformation du code java, et est en train de devenir open source dans NetBeans. Donc, je pense que cette technologie sera utilisée pour faire du refactoring extrement puissant, en appliquant de patterns

[vbrabant]: Pour les performances, il y a tout de même eu un petit raté avec le Scan à la sortie de 4.0. C'était très irritant !

[alexismp]: Ce qui est intéressant avec NetBeans c'est de développer des modules (bouts ou extensions de l'IDE, puis de les "(re)installer" directement dans NetBeans (même si c'est parfois un peu dangereux...).

[lu_do]: @Vedaer: j'utilise toujours l'EDI Netbeans que je construis tous les jours, depuis plus de 3 ans. L'équipe NetBeans est distribuée entre Prague et la Californie pour les employés Sun. Tu peux joindre cet communauté et participer.

[lu_do]: Le scan est maintenant sur un thread non bloquant dans NetBeans 5.0.

[alexismp]: Vincent: oui et d'ailleurs c'est un classique des IHM: la lenteur est une perception de l'utilisateur. Mais même avec NetBeans 4.1, une bonne machine (Ultra 20 au hasard) ça ne se voit presque plus. Tu confirmes?

[lu_do]: Après NetBeans 5.0, nous travaillerons sur le support de la nouvelle spécification Java EE 5 dans NetBeans.

Image non disponible
GlassFish : Open Source Java EE 5 Application Server

[alexismp]: ... et l'intégration de GlassFish, le serveur Open Source de Sun qui utilisera TopLink comme moteur de persistence EJB 3: http://glassfish.dev.java.net.

[lu_do]: https://glassfish.dev.java.net/public/netbeans/

[vbrabant]: @Alexis. Pas encore. Ma machine est toujours dans les locaux de chez Sun. Impossible pour le moment de me rendre chez Sun pendant les heures de bureau.

[alexismp]: Tiens nous au courant.

[vbrabant]: Certainement !!! En espérant que je puisse m'y retrouver sous Solaris. Car j'ai été formatté à la façon de travailler de Microsoft. Dur dur !!!

[alexismp]: Vincent: Windows, Linux ou Solaris, tout est possible sur une Ultra 20...

[vbrabant]: @Alexis: pourquoi Toplink, et pas hibernate ?
TopLink, c'est pas un produit commercial, payant ?

[lu_do]: TopLink, ou Hibernate vont tous les deux migrer sur la specification JSR 220, et c'est cela qu'une prochaine version de NetBeans va supporter.

[alexismp]: Oracle contribue TopLink à l'Open Source et en particulier à GlassFish.
L'avenir est aux API standard EJB 3 plus qu'aux API d'une implémentation ou une autre.

Image non disponible
Toplink Open Source

[lu_do]: Toplink est maitenant Open source dans le serveur GlassFish Java EE 5. C'est une collaboration Sun/Oracle, en open source

[alexismp]: http://www.oracle.com/corporate/press/2005_jun/oracle%20sun%20ri_0.html

[alexismp]: Les premières briques sont là: http://weblogs.java.net/blog/carlavmott/archive/2005/10/ejb_30_persiste.html

[vbrabant]: A quand une fusion de Sun Java Studio Creator dans NetBeans ? Car le support JSF et Struts dans NetBeans 5.0 est tout de même assez limité, comparé aux autres.

[lunatix]: et j'ajoute: le support des jsf va-t-il se completer ? (avec les composants de myfaces par exemple ). Pensez vous a un support de Spring ?

[alexismp]: Dans la séries de présentations de JavaOne 2005 (version multimedia et disponible gratuitement aux membres SDN), il y a "Java EE Ease of Development: Platform Specification and Tools Perspective: TS-7725, 2005" http://developer.sun.com/learning/javaoneonline/2005/tools/TS-7725.html avec la douce voix de Ludo.

[lu_do]: Pour le support de Spring, nous y pensons, mais sans garantie.

[vbrabant]: Comment se décide les fonctionnalités qui vont se rajouter dans les versions de NetBeans ?

[alexismp]: la première étape dans l'intégration c'est que Creator 2 (sortie sous peu) est basé sur NetBeans 4.1.

[lu_do]: VOC: voice of customers: nous écoutons les forums, les dévelopeurs, nous regardons ce qu'y est possible de rajouter en fonction du schedule (une release tous les 4-6- ou 8 mois).

[vbrabant]: Comment se prend la décision de joindre un module open source à NetBeans (Jackpot), ou de joindre un module à NetBeans mais pas en open source (module J2ME ou JFluid) ?

[lu_do]: Pour l'opne source, c'est tout d'abord un long et laborieux processus avec des hommes de loi, pour regarder le code source et clarifier toutes les patentes, dependances externes, etc.... C'est compliqué, dès qu'un homme de loi américain s'en mêle, crois moi.

[vbrabant]: J'aurais du faire avocat et non informaticien

[lu_do]: Les avocats se font beaucoupp d'argents dans l'open source.

[vbrabant]: @bulbo et les autres: http://planetnetbeans.org: une mine d'infos (en anglais) concernant NetBeans

[lu_do]: Bien, je dois maintenant quitter ce forum. Bonne chance à la communautée NetBeans chez Developpez.com!

[bulbo]: A+ lu_do et merci pour les infos

[lunatix]: merci

[vedaer]: Merci pour ta disponibilité Ludovic

[vbrabant]: merci beaucoup ludo

[alexismp]: @Lunatix: pour Spring, je ne sais pas. Ca va dépendre du timing et de l'arrivée des EJB 3 qui apportent une réponse similaire à Spring, mais avec des API "standards".

[vbrabant]: @Alexis. Qu'en est-il de Sun Java Studio Creator? N'était-il pas prévu d'avoir un support Swing là bas ?

Image non disponible
Sun Java Studio Creator

[alexismp]: Pour SJSC (Creator donc), l'idée dans les version à venir est de fournir une expérience similaire au développeurs. En particulier pour qu'il y ait le même jeu de composants avec Swing et JSF. A terme, quand la partie description d'IHM XML de SwingLabs (http://swinglabs.dev.java.net) sera mûre, Creator ira peut-être jusque là. Mais on ne fera peut-être plus la distinction Creator/NetBeans d'ici là !!!

[vbrabant]: Une date de fusion ?

[alexismp]: Rien de décidé, cf. réponse Ludo.
Pas de Swing dans Creator 3 (attention, v2 pas sortie et cycles plus long qu'avec NB) à priori.

[vbrabant]: La sortie finale de NetBeans 5 est toujours pour décembre ?

[alexismp]: Ca peut encore être décalé si la qualité le demande....

[vbrabant]: Très bien cela. La qualité passe avant les contraintes marketing (annonce officielle à Javapolis logiquement).

[alexismp]: Oui, grosse présence NetBeans (Ludo), Swing (Romain) et Sun en général à JavaPolis (http://www.javapolis.com/)

[vbrabant]: Pour les autres, y a-t-il des choses qui vous irritent encore dans NetBeans 5.0 ? Peut-être qu'alexis pourra le faire remonter

[vbrabant]: @Alexis: que va présenter Ludovic ?

[alexismp]: Ludo ne sera pas le seul speaker NetBeans. Je ne connais pas le découpage ni réellement les sujet, mais ça va tourner autour de NB 5 et plus particulierement de J2EE/WebServices/AppServer pour ce qui est de Ludo je pense.

[alexismp]: Pour les remontées, n'hésitez pas à ouvrir une "issue" (http://www.netbeans.org/community/issues.html) quitte à ce que j'appuye la demande ensuite. Le mieux c'est encore de voter pour des bugs ou RFE.

[vbrabant]: Je remarque que NetBeans aime beaucoup supporter tout ce qui est "standard" au niveau JSR, mais pas trop "standard" au niveau open source (Hibernate, Spring). Quelle est la stratégie derrière cela ?

[alexismp]: Historiquement c'était "standards only". Avec Struts, dans NB5 on ouvre de nouvelles possibilités...

[vbrabant]: Et quid de la tentative de définir une API commune pour les modules des EDI ?

[alexismp]: JSR 198. Il parrait que le travail continue...

[alexismp]: Je vais pas tarder à vous laisser. D'autres questions?

[lunatix]: rapidement : le futur de netbeans, tu le vois comment ?
quelles grosses évolutions possibles pour la suite ? si vous en avez une idée

[alexismp]: Il y a ce qui doit être fait quoi qu'il arrive: c'est supporter les nouveaux standards (Java EE 5 qui arrive au printemps), de quoi occuper Ludo pendant un bout de temps. Ensuite, il y a l'amélioration encore et toujours de l'éditeur (refactorings, hints/quick fix).

[vbrabant]: Verra-t-on un support pour l'implémentation JAVA EE d'Apache ?

[alexismp]: Il y a aussi ce que tous les autres font chez Sun sur une base NetBeans (SwingLabs, Creator, Enterprise, Studio Developer, ...) et ce qui existe en dehors dans la communauté qui construit sur NetBeans: http://platform.netbeans.org/index.html (page en cours de (re)construction)

[alexismp]: Vincent: tu veux dire un support de WebSphere Community Edition ?

[vbrabant]: Non. Je voulais dire Géronimo (Serveur J2EE Apache). Mais pourquoi pas aussi WAS (WebSphere Application Server).

[alexismp]: Pour finir sur la partie évolution, ça va aussi beaucoup dépendre de l'accueil fait aux nouvelles fonctions de Netbeans 5.

[vbrabant]: Quelle est la part de marché de NetBeans comparée à Eclipse ? A-t-elle vraiment augmentée ces derniers mois ? Quels sont les rapports entre les développeurs de NetBeans et ceux d'Eclipse ?

[alexismp]: Pas de support de Geronimo (Serveur J2EE Apache) pour l'instant.
Les rapports entre NetBeans et Eclipse sont limités. Mais quand ils ont lieu ils sont cordiaux: http://weblogs.java.net/blog/richunger/archive/2005/06/we_can_all_just.html

[alexismp]: S'il n'y a pas d'autres questions, je vous donne RDV en ligne sur le serveur http://share.java.net (user 'alexismp') ou mieux encore à JavaPolis en décembre à Anvers. - Alexis (http://blogs.sun.com/alexismp)

[vbrabant]: Mais je pense qu'on va pouvoir cloturer ici. Une dernière question ?

[lunatix]: non, juste merci

[vedaer]: Merci Alexis

[BWP-Necromance]: Merci

[bulbo]: J'associe ma voix au concert : Merci a vous deux

[vbrabant]: En effet, un grand merci à Ludo, Alexis et Romain.

[vbrabant]: Et un grand merci aux participants.

[alexismp]: Dormez bien!

[vbrabant]: Ceux qui veulent encore rester le peuvent, mais on n'enregistrera plus la conversation pour faire le compte rendu du chat. Merci à tous.

III. Remerciements

Merci encore à Ludovic Champenois et Alexis Moussine-Pouchkine, pour cette discussion très intéressante, ainsi qu'à tous les autres participants :)

IV. Téléchargements

V. Liens utiles