Note de lecture : Swing (Les cahiers du programmeur), par Emmanuel Puybaret

Note : 4 ; Pédagogique mais trop pesant.

Cette série Eyrolles est sensée être dédiée à des ouvrages permettant de monter en compétence sur des sujets. Dans les faits, on en prend pour 500 pages. Peut-être l’auteur a-t-il été trop gourmand en essayant d’avaler de nombreux sujets ? On va voir ça !

De prime abord, le texte est découpé en 12 chapitres. Mathématiquement, cela va donner de gros chapitres, donc un découpage « à la française ». Le concept global du livre est de mener une étude de cas en mode projet, avec des itérations. Le tout à la façon extrême programming. Cela fait donc au moins 2 sujets à aborder. 3 si l’on compte le détour par SWT. Je ne compte pas toute la partie outil également aborder. Il est temps de commencer.

Le premier chapitre présente l’étude de cas : il s’agit d’un système de CAO. On évoque aussi l’approche XP (mal) qui sera utilisée et un bref exposé des cas d’utilisation (malgré que l’on soit avec XP où les user stories sont préférées). Bonne nouvelle, le tout est bouclé en 9 pages.

Il nous faut juste24 pages pour évoquer le setup de l’environnement. On s’étale trop sur Eclipse. Par contre expliquer l’usage d’une forge paraît une bonne idée, mais l’emploi de CVS est vraiment suranné tout comme l’absence de Maven (ou même de Ant). N’utilise-t-on pas d’intégration continue en Extreme Programming ?

Le chapitre 3 est consacré au match AWT vs Swing vs SWT ! Cela alourdit pas mal l’ouvrage, même s’il ne s’agit que de 40 pages, mais ce parallèle est plutôt très bien fait.

Au chapitre 4 marque le réel début du travail avec Swing. Sur deux chapitres, on met en place un arbre puis un tableau. Le travail n’est pas titanesque, mais enrober ceci de la description des manipulations sous Eclipse, de principes de refactoring, de lecture de fichiers de propriétés, etc.. gonflent ces deux chapitres à 80 pages !

Les chapitres 6 et 7 totalisent eux aussi 80 pages. Ils traitent de l’aspect dynamique de Swing, à savoir le méta pattern MVC et la gestion des commandes avec undo / redo. On a une bonne description du MVC, contrairement à ce que l’on voit souvent, et la mise en place dans l’étude de cas n’est pas encombrée de considérations annexes comme précédemment. Je regrette que l’auteur n’ait pas mentionné le « processeur de commandes » de Peter Sommerlad en référence, car la description qui est faite de ce pattern n’est pas extrêmement claire. Mais la mise en œuvre se comprend.

La gestion des graphiques 2D et 3D occupent les chapitres 8 et 9 respectivement. Avec 70 pages, le chapitre dédié à la gestion des surfaces est très complexe et difficile à digérer. De plus l’aspect fonctionnel du sujet rend le code final très difficile à appréhender. Cela sans compter les aspects frameworks (auxquels on va ajouter Abbot pour les tests unitaires). Bref un chapitre trop lourd. Avec 40 pages, le chapitre dédié à la 3D est moins dément et plus pédagogique avec de nombreux diagrammes.

Les 3 derniers chapitres peuvent être vus comme optionnels, couvrant l’enregistrement de scénarios, le copier-coller et la gestion des préférences.

L’approche pédagogique du livre est globalement bonne et un gros effort de présentation, d’illustrations et de diagrammes est fait. Mais l’étude de cas est souvent trop lourde et le texte est encombré d’aspects pas directement relatifs à Sing. C’est dommage car l’effort de l’auteur est évident.

La question de la pertinence de l’ouvrage après 5 ans se pose évidemment. Je suis partagé à cet égard, car certes cela fait un bail pour un ouvrage technique, mais je n’ai pas vu grand chose sur Swing depuis 5 ans, pas plus que je n’ai vu d’évolutions majeures durant cette période.

swing-cahiers-du-programmeur

Référence complète : Swing (Les cahiers du programmeur) – Emmanuel Puybaret – Eyrolles 2007 – ISBN : 978-2-212-12019-6

Swing (Les cahiers du programmeur)

https://www.goodreads.com/book/add_to_books_widget_frame/18488404?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s