Struts est mort, vive Struts!
Par Laurent simon le vendredi, 28 janvier 2005, 16:40 - Concevoir - Lien permanent
L'équipe de développement de Struts vient d'annoncer que ce dernier va être abandonné. La version actuelle sera maintenue mais n'évoluera plus. C'est à présent une branche morte, une trace de l'histoire...
Extraits de l'annonce:
The Apache Struts team is pleased to announce the adoption of its latest subproject, Struts Shale, a JSF-based framework.
Right now, there are no concrete plans for a 2.x release of Struts Classic. The people working on the 1.x series want to evolve the code base without breaking backward compatibility. If we do our job right, then a 2.x release may never be needed.
It's an entirely new codebase. Struts Shale is an MVC framework for web applications, like Struts Classic, but it's a fresh start. Struts Shale is the best choice for developers eager to leverage the latest technologies, like JavaServer Faces.
Je ne pleure pas. Bien, au contraire c'est une excellente nouvelle! L'utilisation systématique de l'antiquité qu'était devenue Struts a déjà fait suffisamment de dégâts dans les systèmes d'information des entreprises en introduisant une architecture pauvre et inadaptée (voir: Struts et JSP à la poubelle). De mon point de vue, le fait de l'abandonner est clairement une bonne chose.
Il y a tout de même un point noir dans cette annonce. C'est son remplaçant: Struts Shale. Il n'a de Struts pratiquement que le nom. C'est un nouveau projet "from scratch", basé exclusivement sur JSF.
Pourquoi n'est ce pas une si bonne chose? Les développeurs de Struts sont certainement capables de développer un framework de qualité. Le vrai problème de fond, c'est en fait JSF lui-même.
Autant, Struts était pauvre et basique que JSF est (trop) riche et de (trop) haut niveau. On se retrouve exactement dans la situation inverse. Quand avec Struts on utilisait un vélo pour gravir des montagnes, avec Struts Shale on va maintenant essayer avec une fusée. Les deux sont aussi inadaptés l'un que l'autre pour gravir les montagnes. D'un truc hyper basique qui fonctionnait les tripes à l'air et demandait beaucoup d'énergie. On va passer à quelque chose de diffus et complexe, qui marche presque tout seul mais dont la maîtrise sera incertaine.

Le principal piège de JSF c'est qu'il est plébiscité par les éditeurs et que sa complexité va être en grande partie masquée par les outils proposés en front-end. Mais n'oubliez pas que vous devrez vivre avec le code généré.
Un conseil: Avant de vous jeter dans cette impasse, essayez d'abord Tapestry...