juillet
2009
Salut
Je devrai prochainement présenter Wicket à des non « Java » mais des réels concepteurs d’un framework à destination d’une grande banque française (ça pète hein ? lol).
Plus sérieusement, me voici dans l’obligation de présenter Wicket en faisant abstraction des éléments propres au langage et à la plate forme Java. Ainsi, la question est posée : quels concepts font la forme de Wicket ?
Cogitant sur le sujet, et travaillant sur le fameux framework de cette banque, voici ce qui m’a frappé : la séparation html/reste du monde est bien plus frappante avec Wicket qu’avec la plupart des frameworks qu’il m’a été donné de voir jusqu’ici.
En effet, nombreux sont les frameworks qui permettent dans le markup :
– d’écrire les boucles,
– d’exprimer des conditions,
– de mettre des contraintes de validation (champ requis et ainsi de suite).
Ce faisant, mine de rien, ils déportent déjà une partie de la logique applicative et détournent déjà le markup de son simple rôle de vue. Et c’est bien là que débutent tous les ennuis.
Wicket n’autorise que le strict minimum : des ids, les messages à traduire ou les systèmes d’encapsulation (panel et autre parent/child). Et du coup, tout est réellement du côté serveur.
Certes, cela vient avec quelques contraintes, notamment l’absence « out of the box » et hors Ajax, de validation de la saisie à la volée. Mais au final, côté aisance de développement et vision des règles applicatives, quel bonheur !
Cette stricte séparation est vraiment clé à mon sens. D’ailleurs, de façon générale, j’en ai retiré la règle suivante : si on a la possibilité de faire la même chose partiellement dans deux endroits/langages/technos, ne retenir QUE celle permettant le plus et limiter au strict nécessaire l’autre endroit/langage/techno.
Un lieu dit bien connu, mais en ces temps d’Ajax, scripting, XML (hell) et autres révolutions techniques apparaissant toutes les 5 minutes, cela reste d’autant plus vrai et difficile à appliquer ! Et permet également, si bien appréhender, de mieux saisir, je pense, les forces et faiblesses d’un existant.
Je pense continuer cette petite série (sans prétention aucune autre que le « pense bête » en vue de ma présentation) : tous les avis sont bienvenus
++
Joseph