48 votes

Différence entre Mojarra, et MyFaces

Je suis en train de créer sur JSF2.0 j'ai utilisé un tutoriel comme une référence, mais j'ai la question suivante:

Le tutoriel utilisé 2 libs seulement: jsf-api.jar, jsf-impl.jar (mais aussi JSTL) à partir de Mojarra Projet.

J'ai essayé de le télécharger, eux aussi, mais il semble que le site n'est pas accessible. J'ai donc utilisé Apache MyFaces, mais pour exécuter l'exemple, j'ai dû ajouter 8 pots (commons-*, myfaces-*).
Pourquoi ai-je besoin de plus de pots si j'utilise MyFaces? Dois-je préfère Mojarra que plus léger? Aussi la page de téléchargement est en effet JSF Mojarra?

Merci

74voto

BalusC Points 498232

Pourquoi ai-je besoin de plus de pots si j'utilise MyFaces?

Parce que ces dépendances ne sont pas regroupés dans MyFaces. D'autre part, si vous utilisez d'autres bibliothèques de Apache.org qui utilisent également ces dépendances, alors vous retrouver avec de plus petite taille totale des bibliothèques.


Dois-je préfère Mojarra que plus léger

C'est un non-argument. Vous devriez regarder comment robustes et bien entretenues dans le cadre du programme de mise en œuvre est.

Le grand-père de la Mojarra, Soleil JSF RI 1.0, et les premières versions de RI 1.1 encombrée par de méchants bugs. À ce moment (autour de 2004-2006), MyFaces était certainement la solution plus stable.

Depuis 1.1_02 et 1.2_02 autour de début de 2006, le nouveau Sun/Oracle JSF dev team a fait un excellent travail. Pas seulement avec bugfixing, mais aussi avec des améliorations de performances. Environ la moitié de la Mojarra 1.2 durée de vie (environ 2007-2009), Mojarra est le meilleur choix que MyFaces.

Dès maintenant, Mojarra 2.0/2.1, on ne peut pas vraiment dire à l'avance quel est le meilleur. Bugs souvent exposer que plus tard et la robustesse ne peut être évalué lors de la foulée. Il suffit de choisir quel que soit mise en œuvre vous "sentir" est le meilleur. Parcourir par le biais de leurs rapports (MyFaces et Mojarra) afin de connaître précédemment correction de problèmes et les questions ouvertes. Si vous rencontrez un bug spécifique, essayez les deux implémentations d'exclure l'un et à l'autre. Rapport si nécessaire pour maintenir la qualité globale des deux mises en œuvre de haut.


Aussi la page de téléchargement est en effet JSF Mojarra?

Ce lien donne en effet une erreur de sécurité. Depuis les changements et/ou la migration sur le dev.java.net au début du mois, c'est maintenant situé à http://javaserverfaces.java.net (note, HTTP au lieu de HTTPS et sans .dev sous-domaine). Stupide java.net les gars, ils devraient avoir fixé l'ancienne URL HTTPS pour être une redirection 301.


Voir aussi:

45voto

lu4242 Points 1749

La réponse vient de mon blog:

http://lu4242.blogspot.com/2011/06/10-reason-why-choose-myfaces-core-as.html http://lu4242.blogspot.com/2012/05/understandingjsf-2-and-wicket.html

Mise à JOUR JUILLET 2013: Voir la série d'articles et la mise à jour pour 2013 à JSFCentral:

http://www.jsfcentral.com/articles/understanding_jsf_performance_3.html


À première vue, à la fois JSF implémentations (MyFaces et Mojarra) faire de même, parce qu'ils sont basés sur la même norme. Le fait que vous pouvez modifier à partir d'une mise en œuvre à d'autres est un fait de la qualité de la JSF standard spec.

Mais sur le fond il ya beaucoup de raisons pourquoi MyFaces Core 2.x est mieux que Mojarra. Remarque je suis un livreur de MyFaces projet, je vais donc vous donner ici juste mon point de vue:

  • Beaucoup de problèmes a été résolu. Seulement en 2.0.x branche à partir de la version 2.0.0-alpha pour 2.0.7 il a été fermé à 835 questions. Cela donne une "première" mesure de la façon dont de nombreuses contributions et des commentaires ont été fournis par la communauté au cours du temps. C'est le nombre de questions fermées au cours du temps: 2.0.0-alpha: 274, 2.0.0-beta: 58, 2.0.0-bêta-2: 41, 2.0.0-bêta-3: 39, 2.0.0: 51, 2.0.1: 148, 2.0.2: 77, 2.0.3: 63, 2.0.4: 23, 2.0.5: 27, 2.0.6: 29, 2.0.7: 5.

MISE À JOUR MAI 2012: 2.1.0: 47, 2.1.1: 6, 2.1.2: 84, 2.1.3: 9, 2.1.4: 74, 2.1.5: 7, 2.1.6: 35, 2.1.7: 52

  • Communauté sur le code: MyFaces communauté compte avec beaucoup de gens avec des connaissances exceptionnelles sur JSF. Inscrivez-vous à l'utilisateur et dev liste de diffusion sont le meilleur moyen de savoir ce qui se passe, recevoir de la rétroaction et de savoir que d'autres personnes intéressées dans le programme JSF. Voir MyFaces Listes De Diffusion

  • Apache est bien connu de tout prendre de Sun/Oracle et le rendre meilleur. Dans ce cas, MyFaces de Base est cool optimisations plus partielle de l'etat économie, de pièces en composite et beaucoup plus!.

  • MyFaces de Base est OSGi sympathique. Il fournit des interfaces SPI pour le traitement des configurations, lorsque vous avez besoin de plus de contrôle sur classloading.

  • MyFaces de Base a une meilleure compatibilité avec facelets 1.1.x!. Juste jeu org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS web config paramètre à true, et un mode spécial sera activé. Pas de c:si les étiquettes ou c:forEach ou de l'interface utilisateur:inclure des brisures de plus!. Mise à JOUR MAI 2012, Une amélioration de l'algorithme a été fait à l'intérieur de MyFaces de Base qui permettent de réduire la taille de l'état, même dans les pièces lors de facelets est utilisé pour mettre à jour le composant de l'arbre de façon dynamique. Ce paramètre n'est plus nécessaire.

  • MyFaces a d'autres projets (Trinidad, Tobago, Tomahawk, ExtVal, CODI, Orchestre, PortletBridge RI, ....) qui aide à garder le code tune up, parce que tous ces projets de test contre MyFaces de Base, et si il y a un bug, il est pris en charge plus rapidement.

  • Vous pouvez payer en utilisant svn et de construire facilement des MyFaces projet, parce que tous maven base et la plupart des IDEs maven fournit soutien.

  • Mojarra, à l'heure actuelle (JUIN 2011) a quelques vilains bugs liés à l'état de l'épargne, qui MyFaces n'est pas parce que sa mise en œuvre est complètement différent. En fait, MyFaces partielle de l'etat d'économie d'algorithme offre une meilleure compatibilité avec les JSF 1.2 état de l'épargne que Mojarra. Mais remarque Mojarra gars travaillent sur ça, mais correctif qui va prendre des mois, voire des années.

  • L'Innovation se produit sur MyFaces.

MISE À JOUR MAI 2012

Voir cet article 10 raisons pourquoi choisir MyFaces de Base comme JSF mise en œuvre pour les applications web

Pour les gars qui veulent voir une comparaison des performances entre MyFaces, Mojarra, et le Guichet de regarder la Compréhension JSF 2 et Portillon: Comparaison des Performances

MISE À JOUR JUILLET 2013

La comparaison a été étendu pour inclure d'autres frameworks comme Spring MVC, Tapisserie, Grain 2 et de Guichet. Voir l'article à JSFCentral : mise à Jour JUILLET 2013 à JSFCentral

9voto

Michael Borgwardt Points 181658

Je dirais qu'il n'a pas vraiment d'importance.

J'ai récemment commencé un programme JSF 2.0 projet à l'aide de Myfaces et Primefaces. La semaine dernière, pour enquêter sur un bug, j'ai essayé de l'exécuter sur Mojarra. Il a fallu échanger les Pots et la suppression de Myfaces des entrées spécifiques dans web.xml - et tout a fonctionné sans aucun problème. Il est vrai que c'était un prototype qui n'utilise pas la totalité de la JSF fonctionnalité, mais j'ai été très impressionné par cette démonstration de la compatibilité via le respect des normes.

Pourquoi ai-je besoin de plus de pots si j'utilise MyFaces?

  • myfaces-impl et myfaces-api Pots sont l'équivalent de la Mojarra du jsf-impl et jsf-api.
  • myfaces-bundle contient à la fois de ces pour plus de commodité, vous avez besoin de ceci ou l'autre de deux, pas trois.
  • communes-* bibliothèques qui contiennent des fonctionnalités de base pour traiter les collections, Java beans, etc. que l'on pourrait autrement avoir à ré-écrire (probablement plus lentement et avec plus de bugs). De nombreux autres projets, l'utilisation de ces derniers.

5voto

AlanObject Points 2199

En général, je le bâton avec la Mojarra mise en œuvre, sauf s'il existe une raison pour aller avec quelque chose d'autre. J'utilise Netbeans, de sorte qu'il est plus facile d'utiliser le "par défaut" configuration de projet qui utilise Mojarra fonctionnant sous GlassFish.

Le dernier que j'ai été en utilisant MyFaces, c'était parce que j'étais en train de penser à l'aide de Tomahawk et il semble raisonnable de les utiliser dans le cadre du programme de mise en œuvre à partir de la même source. Cependant j'ai changé de Primefaces place et qui fonctionne bien sous Mojarra.

Droit maintenant, il semble y avoir beaucoup de projets sont en cours avec JSF 2.0 bibliothèques de composants à venir en ligne. De sorte que vous devez apprendre et être en mesure de basculer entre la JSF mises en œuvre dans le cas où quelque chose va mal.

La raison MyFaces a plus de pots, c'est qu'il a plus de fonctionnalités que juste l'implémentation de référence.

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