【问题标题】:Compare JSF implementations [closed]比较 JSF 实现 [关闭]
【发布时间】:2009-03-19 11:20:59
【问题描述】:

我很高兴在比较已知的 JSF 实现方面获得参考资源和人们的经验:MyFaces 和 IceFaces 在组件的丰富性、易于开发、流行度、稳定性、社区支持等方面。

更新:正如指出的那样,最初的问题不够准确。很少有 JSF 实现(Apache MyFaces、Sun 参考实现)和一些 JSF 组件库(IceFaces、RichFaces、Woodstock 等)。但无论如何,我的问题是关于核心 JSF 和 JSF 组件库的实现。

【问题讨论】:

标签: java jsf


【解决方案1】:

小心!

JSF 是一种规范。因此,您必须使用一种实现,例如 Sun 提供的实现,或者 Apache (MyFaces) 提供的实现。

IceFaces 不是一个实现,而是一个组件库。还存在其他库,例如 RichFaces、MyFaces Tomahawk 等。

你可以看看here 了解组件库之间的区别。

【讨论】:

  • 该链接不再有效。它链接到与编程无关的个人页面。
【解决方案2】:

我意识到这是一篇迟到的帖子,但因为我想扩展但没有看到它:我真的建议你也看看 Primefaces。我对 JSF 还比较陌生(开发时间为 1 年),但我一直在尝试使用不同的套件来完成我们研究阶段的每个新子集。

这是我的经验: Icefaces 无需您做太多工作即可处理 AJAX。当你尝试做一些相对简单的事情时,Icefaces 在小的 DOM 更新和响应式 UI 方面做得非常好。我强烈建议新人从这里开始,因为您将能够快速开始工作并学习 JSF 的所有细节而不会感到痛苦。 (它也有不错的 Eclipse 工具)

Richfaces 是一个很好的套件,它以更精细的方式处理 ajax(更接近 JSF2.0 的工作方式)在我看来,这些组件有点缺乏,但如果您正在自定义外观,Richfaces 是一个更好的起点因为它通常感觉更容易皮肤。 (再说一次,普通的 JSF2.0 也适用于此)。

最近我试用了 Primefaces (http://www.primefaces.org)。该套件涉及更多工作,可以看出它在组件的数量和外观方面具有显着优势。其中,我喜欢在 Primefaces 中处理复杂的事情,而这在 Icefaces 中完全令人沮丧。

我希望这对其他读者有所帮助,我认为所有这些套件都很棒。如果您正在编写一些疯狂的 Javascript,并且需要精细控制,请使用 Primefaces。

另一个小提示:如果是新应用程序,请使用 JSF2.0——它具有显着的优势,我还没有发现任何令人沮丧的地方。

【讨论】:

  • 作为对此的更新,我一直在做很多移动访问,而 Icefaces 处理起来更令人沮丧(复杂的事情)我发现 AJAX 请求/更新要小得多大小无关紧要,感觉更有活力。它实际上只是一个注释,通过 3G 或更好的连接它是一个有争议的问题。
  • 由于技术每年都在发展,我想在您评论 9 年后以我 3 年的经验提供有关 PrimeFaces 功能的更新。现在,通过将属性应用于组件,您对 AJAX 请求/响应缓慢的担忧得到了增强。例如,如果您将 TabView、Dropdown 等的“动态”属性设置为“true”,则将对这些组件应用延迟加载,并且将较少量的 KB 下载到设备,而其他数据(如 Dropdown 值)将当用户真正需要它们时随时加载。 PrimeFaces 现在是 8.0 版
【解决方案3】:

RichFaces 由 Jboss 在 Redhat 下开发。

组件丰富性:许多不错的 ajax 功能和 UI 组件。

易于开发:主观,但我说是的。

受欢迎程度: v3.3.0 下载量约为 13,000 次

稳定性:仍在积极开发中,正在添加新功能。 Bug Tracking 的系统就位。

社区支持: 有一个不错的在线demo 代码示例(Jboss 网站上的那个,您必须登录才能访问)。 Jboss 网站上有forumwiki

【讨论】:

    【解决方案4】:

    如果您使用 Sun RI 或 MyFaces 并没有真正的区别。两者都实现了 JSF 标准定义的内容。

    对于组件库你必须看看:

    • ICEfaces(我们更喜欢这个)
    • RichFaces(您必须检查这与 JBoss 世界的紧密程度)
    • 战斧(经典;有传言说开发有点停滞)
    • Trinidad(Oracle ADF Faces 开源内核)

    这些很重要。 Woodstock 已经死了,ICEfaces 的人正在提供迁移路径。如果您已经使用 Oracle 工具(例如 JDeveloper),Trinidad 是一个不错的起点。如果您已经使用 JBoss 工具,RichFaces 是一个不错的入门选择。

    要更独立地使用,请查看 Tomahawk 和 ICEfaces。 ICEfaces 允许集成 Tomahawk 组件,尽管皮肤并不真正兼容。集成是 ICEfaces 的关键特性之一。 IDE、应用程序服务器和其他开源框架的支持非常出色。 Facelets 集成是您能得到的最好的。 AJAX 推送技术是目前最好的推送实现。 JSF 2.0 的很多东西已经是 ICEfaces 1.8 的一部分。

    以下是我们更喜欢 ICEfaces 的更多原因:

    http://blog.rainer.eschen.name/2008/09/22/icy-faces-for-more-than-a-year/

    关于 JSF 的介绍请看这里:

    http://blog.rainer.eschen.name/2008/03/10/how-to-start-the-jsf-dance/

    提示:2008 年底,Packt Publishing 要求我写一本关于 ICEfaces 的书。它将在 2009 年 10 月末上市。知道了这一点,答案可能有点偏颇。但是,这是长期测试和 1.5 年以上 ICEfaces 经验的结果。这是你能在技术上获得的最好的。在我们的项目最终选择 ICEfaces 之前,我测试了所有重要的开源 JSF 实现。

    【讨论】:

      【解决方案5】:

      我第二次 RichFaces。 exadel 页面上有很多很好的文档(Mark 也链接了这些文档),并且每个组件都有一个非常好的开发人员指南。为核心 JSF + Richfaces(也有很多不错的 Ajax 支持)点赞。

      【讨论】:

      • 我同意。我用这个组合
      猜你喜欢
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-01-11
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多