49 votes

Implémentations JSF et bibliothèques de composants

Je viens de commencer à utiliser JSF et j'ai trois questions relatives aux implémentations JSF et aux bibliothèques de composants.

  1. Quelle est la différence entre les implémentations JSF et les bibliothèques de composants ?

  2. Quelles sont les différentes implémentations de JSF (comme Eclipse Mojarra et Apache MyFaces) qui sont disponibles et quelle est la différence entre chacune d'elles ?

  3. Quelles sont les différentes bibliothèques de composants JSF (comme PrimeFaces, ICEfaces et RichFaces) disponibles et quelle est la différence entre chacune d'entre elles ?

Tout lien pertinent donnant les informations exactes à ce sujet serait également utile.

1 votes

98voto

BalusC Points 498232

Quelle est la différence entre les implémentations JSF et les bibliothèques de composants ?

Implémentations JSF mettre en œuvre el Spécification de l'API JSF . Ils contiennent au moins les standard composants pour afficher l'un des éléments HTML de base ("plain vanilla") disponibles.

Les bibliothèques de composants JSF ajoutent simplement ce supplément en plus de l'implémentation de base, souvent avec plus de possibilités de personnalisation, d'ajax, d'amélioration, etc., de sorte que vous pouvez le programmer avec un seul composant au lieu d'un tas de composants ou de composants personnalisés, éventuellement avec un tas de code JS/CSS connexe.


Quelles sont les différentes implémentations de JSF (comme Eclipse Mojarra et Apache MyFaces) qui sont disponibles et quelle est la différence entre chacune d'elles ?

Il existe à ce jour deux (principales) implémentations de JSF, à savoir Eclipse Mojarra y Apache MyFaces . Techniquement, il n'y a pas de grande différence, car les deux doivent simplement adhérer à la spécification de l'API JSF. Il faut plutôt regarder la robustesse, la disponibilité de la documentation, le niveau de support, le niveau de maintenance (vitesse des améliorations, des corrections de bogues, des mises à jour, etc. Voir aussi : Différence entre Mojarra et MyFaces .


Quelles sont les différentes bibliothèques de composants JSF (comme PrimeFaces, ICEfaces et RichFaces) disponibles et quelle est la différence entre chacune d'entre elles ?

Il y en a beaucoup, je vais me limiter aux bibliothèques les plus utilisées / connues. Si vous voulez plus de possibilités de skinning, regardez à PrimeFaces ( Démonstration ), ICEfaces ( Démonstration ), ButterFaces ( Démo ) ou BottesFaces (démo). RichFaces est EOL depuis 2016. Si vous voulez plus de capacités ajax (autres que ce que JSF standard fournit déjà), regardez PrimeFaces, ICEfaces ou BabbageFaces . Si vous voulez des composants plus spécialisés/améliorés, regardez du côté de PrimeFaces, ICEFaces, Extensions PrimeFaces ( Démo ) ou Tobago ( Démo ). La différence se situe principalement au niveau de l'ensemble des composants disponibles et du degré de personnalisation.

Il existe également des bibliothèques utilitaires JSF. Vous vous reconnaîtrez probablement en réinventant/réécrivant certaines FacesUtil , JSFUtils etc. à chaque fois et/ou des balises/composants personnalisés pour résoudre les problèmes typiques et récurrents propres à JSF. OmniFaces ( Démo ) y DeltaSpike fournir une bibliothèque standard réutilisable d'utilitaires JSF qui peut être utilisée en combinaison avec n'importe quelle implémentation JSF et bibliothèque de composants.

13 votes

@Avinash Si vous aimez la réponse, vous pouvez/devriez l'"accepter", en donnant des points à son auteur.

0 votes

N'oubliez pas de divulguer votre relation avec OmniFaces ;)

0 votes

@Stephan : déjà dans mon profil utilisateur.

3voto

Cromulent Points 2308

Une implémentation est quelque chose qui met en œuvre la spécification JSF. Une bibliothèque de composants est quelque chose qui ajoute des fonctionnalités supplémentaires (normalement des widgets d'interface utilisateur supplémentaires) à la spécification de base.

Je suppose que la principale différence est la conformité aux normes. Pour autant que je sache, Glassfish est le seul serveur d'application à supporter entièrement la nouvelle norme JSF publiée dans le cadre de Java EE 6.

Désolé, je ne suis pas sûr de la dernière question.

-2voto

subodh Points 1

J'utilise l'implémentation JSF Richfaces3.3.4, ce n'est rien d'autre que d'ajouter de nouvelles fonctionnalités et des capacités Ajax dans la balise JSF, comme si vous vouliez utiliser une table de données dans votre application, vous utiliserez Jsf, mais si vous utilisez Richfaces, vous pourrez utiliser ce qui a beaucoup de fonctionnalités qui ne sont pas fournies par la table de données Jsf, comme les capacités Ajax, le soring sur la colonne, toute action lorsque vous cliquez sur une rangée de la table, la pagination de la table de données, etc. et toutes ces choses sont trop faciles avec Richfaces qui est beaucoup plus typique si vous utilisez Jsf Standalone. Merci

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X