JSF/implementation

Cette page a été rédigée il y a fort fort longtemps, et n'a pas tellement été mise à jour.

 

Vous savez, moi je ne crois pas qu'il y ait de bonne ou de mauvaise page. Moi, si je devais résumer mon wiki aujourd'hui avec vous, je dirais que c'est d'abord des rencontres. Des gens qui m'ont tendu la main, peut-être à un moment où je ne pouvais pas, où j'étais seul chez moi. Et c'est assez curieux de se dire que les hasards, les rencontres forgent une destinée... Parce que quand on a le goût de la chose, quand on a le goût de la chose bien faite, le beau geste, parfois on ne trouve pas l'interlocuteur en face je dirais, le miroir qui vous aide à avancer. Alors ça n'est pas mon cas, comme je disais là, puisque moi au contraire, j'ai pu ; et je dis merci au wiki, je lui dis merci, je chante le wiki, je danse le wiki... je ne suis qu'amour ! Et finalement, quand des gens me disent « Mais comment fais-tu pour avoir cette humanité ? », je leur réponds très simplement que c'est ce goût de l'amour, ce goût donc qui m'a poussé aujourd'hui à entreprendre une construction logicielle... mais demain qui sait ? Peut-être simplement à me mettre au service de la communauté, à faire le don, le don de soi.

JSF est une spécification optionnelle de J2EE 1.4 et intégrée à JavaEE 5.

Plusieurs implémentations du standard sont disponibles, ainsi que des librairies d’extension.

Composants standard

Ce sont des implémentations de la spécification (JSR-127), avec les composants standard (taglib core et html).

Sun JSF RI

  • C’est l’implémentation de référence de Sun, disponible dans la toute dernière version de la spécification (fin 2006 = 1.2).

Apache MyFaces

  • C’est une implémentation très couramment utilisée. La version est généralement en décalage, puisque fin 2006, on n’avait encore que la 1.1.

  • Elle est intégrée à JBoss 4.0.

Composants complémentaires

Remarque : 3 librairies chez Apache qui, pour l’instant ont des zones de recouvrement.

Apache Tomahawk

  • Extension de JSF compatible avec les implémentations standard

  • Certains composants remplacent les composants standard

  • Support de Struts Tiles

Apache Tobago

  • Framework JSF intégré, largement incompatible avec les autres extensions (incompatibilité de renderkit) === Oracle ADF

  • Composants en remplacement ou en ajout du standard

  • Plusieurs type de tableaux et de listes

  • Validateurs et convertisseur coté client (javascript)

  • Support des principes d’accessibilité

  • Rendu partiel de page

Apache Trinidad

  • Version open source de ADF Faces

  • En cours d’intégration chez Apache

Composants AJAX

AJAX devrait être totalement intégré à JSF pour la version 2.0 (JavaEE 6). En attendant, pour développer des applications et sites au rendu un peu dynamique, nous devons utiliser des extensions.

L’utilisation de frameworks AJAX autonomes de JSF est dangereuse et peu poser des problèmes de gestion de l’état des composants. Par ailleurs, quelques librairies se contentent d’une intégration minimale d’AJAX, avec un champ de type "suggest".

Nous avons privilégié la fonction de rendu partiel de page.

Ajax4JSF

  • Ajouts spécifiquement AJAX

  • Facile d’utilisation pour les boutons, plus délicat pour d’autres événements

Le projet est passé sur la coupe de JBoss :

Rich Client Faces

  • Les premiers retours semblent prometteurs…​

  • Licence open source LGPL

  • Développé par la société Vedana

Sun DynaFaces

IceFaces

  • Redéfinit les composants standard de JSF, avec des attributs supplémentaires

  • Existe en version Open Source ou en version commerciale

  • Semble assez riche et bien documenté

  • Rendu partiel et validation partielle de formaulaire

  • Push : mise à jour de page initiées par le serveur

  • Drag & drop et autres effets, grâce à l’intégration de script.aculo.us

Exadel RichFaces / JBoss RichFaces

  • Initialement développé sous licence commerciale par la société Exadel

  • Annonce d’une licence Open Source via JBoss.org