Testabilité des IHM : commençons (déjà) par Swing!

Tester l’IHM n’a jamais été chose aisée et globalement deux approches s’opposent :
- Tester avec du code. Le principal inconvénient est que cela repose principalement sur le nommage ou l’agencement des composants et – suivant le framework utilisé – peut être assez sensible au refactoring et notamment au modification d’imbrication des composants.
- Tester en mode recorder. Le principal inconvénient reste que ces tests ne peuvent être réalisés que très tardivement (et souvent pas par les équipes de développements) et sont sensibles aux modifications d’IHM (repositionnement d’un bouton etc…). Tout refactoring de ce type de tests est impossible et ces outils sont souvent croisés dans des contextes de pure non regression – ie. des contextes où le développement IHM est stable et où l’on souhaite facilement savoir si quelque chose a été cassée ou non.

Il existe quelques solutions de tests d’IHM pour Swing (Swing Unit, SpecUI4j…) mais j’ai envie de m’arrêter sur Fest Swing.
Lire la suite

AOP et Swing : un duo élégant

Ce n’est pas la nouveauté de l’année mais Swing, bien que présent en entreprise, n’évolue que très peu. Le kit de développement offre nativement toujours aussi peu de composants évolués (tableaux triables…) même s’il faut avouer que certaines librairies commerciales compensent à merveille ces manques. Les APIs et le développement Swing est toujours aussi verbeux et finalement assez peu productif (de mon humble avis). Et ce n’est malheureusement pas les quelques JSR en stand by qui vont y changer quoique ce soit : Beans Binding est au statut inactif, Beans Validation, drafté en 2008 n’est toujours pas inclus dans le JDK (peut-être pour la version 7 ?) et la JSR 296 (qui définit au travers de 4 callback le cycle de vie standard d’une application) ne représente pas non plus la plus importante des améliorations qu’ait connu un framework (si si je vous jure j’aime Swing…)

Alors il est nécessaire de compenser ces manques…
Lire la suite

Présentation industrialisation Java au salon Solutions Linux [MAJ 17/03]

[MAJ 17/03] Les slides de la session sont désormais disponibles à la fin de cet article.

Nous serons présent le 17 mars 2010 au salon Solutions Linux. J’aurai le plaisir d’y co-animer une session avec Benoît Lafontaine sur l’industrialisation des développements Java.

Qu’entendons nous par industrialisation ? Principalement 3 activités :

  • l’intégration continue. Nous commencerons par à un retour sur l’état de l’art de cette pratique agile aujourd’hui largement démocratisée, puis nous verrons comment faire face aux nouveaux défis rencontrés : réduction du temps de build, constructions d’applications profilées par environnement, build distribué ou encore build incassable.
  • le développement piloté par les tests. Depuis 4 ans, les outils de tests fonctionnels automatisés comme FitNesse s’efforcent de remettre le besoin et les maitrises d’ouvrage au coeur du développement logiciel. Nous ferons le bilan sur ces outils et balayerons les perspectives offertes par de nouvelles approches et de nouveaux types d’outils (BDD).
  • mesure continue de la qualité. Nous verrons comment utiliser la mesure de la qualité comme une dynamique d’amélioration continue et comment en éviter les dérives comme le « flicage ».

Lire la suite

Trois jours à QCon London 2010 : Tendances et Confirmations

« QConLondon 2010 : the place to be! » diront certains. Ce qui est certain c’est que c’était l’occasion de voir de grands speakers (Uncle Bob, Dan North ou Mickael T. Nygard…) et de sentir les mouvances de notre industrie. Trois jours intenses, 700 participants venus de plus de 50 pays, 6 tracks thématiques par jour en parallèle : difficile de tout voir et absorber mais voici les éléments que nous avons voulus retenir.

Lire la suite

CXF ou Axis ? Quelques chiffres

Chez un client, j’ai du récemment vérifier que l’on pouvait facilement utiliser l’API SOAP de Crowd en Java. J’ai donc pour cela utiliser les 2 principaux framework de web service du monde Java Open source : CXF et Axis2. L’idée de cet article n’est pas de comparer fonctionnellement ces 2 frameworks, mais juste vous livrer les résultats numériques de ces essais.

Lire la suite

Présentation Wicket au Lausanne JUG le 11/02

Lors de la prochaine session du JUGL,  le jeudi 11 février (la semaine prochaine), j’aurai le plaisir de vous présenter le framework web Wicket.

Wicket est un framework web Java orienté composant (par opposition aux frameworks MVC)

Au programme de ce JUG, des slides et beaucoup de code :
  • Un Hello World
  • Principes d’architecture de Wicket
  • Wicket et la relation développeurs / webdesigners
  • Gestion des modèles de données et du binding
  • Formulaires et validation
  • Comment çamarche avec une appli de la vraie vie ? (Spring / Hibernate / Maven)
  • Wicket et le TDD ?
Et puis, comme il faut aussi être un peu critique nous verrons :
  • Comment Wicket se positionne dans la jungle des frameworks RIA ?
  • Avantages et limitations de Wicket

Pouvez-vous inscrire pour nous aider à anticiper le nombre de places nécessaires ?

http://www.jugevents.org/jugevents/event/23397

Merci et à la semaine prochaine !

PS : un petit lien vers ce blog dont je me suis honteusement inspiré pour le jeu de mot ;-)

Maven: Mes plugins préférés

Ayant beaucoup utilisé Maven ces derniers temps, j’ai dû faire pas mal de recherches pour lui faire faire ce que je voulais. Cela m’a permis de découvrir une série de plugins intéressants que je vous livre ici. De façon générale, il s’agit de plugins méconnus mais qui m’ont fait pousser un « Oh la bonne idée super pratique » lorsque je l’ai découvert. Avec un peu de chance, vous aurez la même réaction.

Évidemment, de nombreux autres plugins sont disponibles, utiles et bien faits. J’ai voulu focaliser ici sur mes nouvelles découvertes et sur les anciens qui sont revenus en grâce. Si vous recherchez un plugin, les deux points de départ sont http://maven.apache.org/plugins/ et http://mojo.codehaus.org/. Ensuite, Google est votre ami.

Lire la suite

OCTO au Tours JUG et au Riviera JUG

Le nombre de Java User Groups a rapidement augmenté cette année en France, signe d’une communauté Java vivante et nombreuse.
C’est une très bonne occasion pour assister à des présentations variées et échanger entre experts et passionnés, et ce un peu partout en France.
Des consultants Octo ont présenté et présenteront d’ailleurs plusieurs sessions ces jours-ci : une hier au Tours JUG et une ce soir au Riviera JUG.
Lire la suite