我们很快开始开发新的 Web 应用程序,目前正在评估/提出要使用的技术堆栈。
对于视图层,我们必须在 Primefaces、Icefaces 2(因为我们肯定想要 JSF2)和 Richfaces 之间进行选择。我们的基本要求是外观和感觉、开发的简单性和易用性、可扩展性和性能(最重要的)。
哪种视图技术/框架最适合利用。我们将不胜感激任何输入/专家意见。另外,如果有其他推荐的框架,请告诉我们。
谢谢并恭祝安康
我们很快开始开发新的 Web 应用程序,目前正在评估/提出要使用的技术堆栈。
对于视图层,我们必须在 Primefaces、Icefaces 2(因为我们肯定想要 JSF2)和 Richfaces 之间进行选择。我们的基本要求是外观和感觉、开发的简单性和易用性、可扩展性和性能(最重要的)。
哪种视图技术/框架最适合利用。我们将不胜感激任何输入/专家意见。另外,如果有其他推荐的框架,请告诉我们。
谢谢并恭祝安康
我使用过 ICEfaces 和 PrimeFaces,并且更喜欢 PrimeFaces 有两个主要原因:开发效率和 UI 性能/响应能力。
对话框组件说明了两者:
在 PrimeFaces 中进行比较:
<p:dialog widgetVar="dialog"> [content] </p:dialog>
...
<a href="#" onClick="dialog.show()">Open dialog</a>
在 ICEfaces 中对此:
<ice:panelPopup rendered="#{bean.dialogOpen}"> **dialog chrome** [content]
</ice:panelPopup>
<ice:commandLink action="#{bean.showDialog}">Open dialog</ice:commandLink>
在 ICEfaces 中,您需要一个服务器端往返和一个托管 bean 属性 + 动作侦听器来打开一个对话框。在 PrimeFaces 中,借助“widgetVar”,您可以将组件绑定到可在 jQuery 和常规 DHTML 事件中访问的客户端变量。
此外,PrimeFaces 组件可以用更少的代码处理许多常见情况;例如,对话框组件包括标题栏和要关闭的“X”,而在 ICEfaces 中,您必须为此滚动(或购买带有复合组件的 EE)。
最后,如果您的页面变大,ICEfaces 中的“自动 AJAX”服务器端 DOM 差异会在服务器端产生性能问题——大多数时候您知道要刷新什么,并在组件上明确指定 update="id"更有效。
在一个小的 POC 中尝试它们,也许几页,然后自己决定。还要考虑成熟度、可用支持、可用资源、企业特性等。根据我的经验,A vs. B vs. C 很少产生好的论据,无论是使用一个组件库还是另一个。
我尝试过 IceFaces 和 PrimeFaces,最终选择了 PrimeFaces,因为它是零配置启动、使用组件的简单性以及与 JQuery 的良好集成。我只是错过了 PrimeFaces 中对服务器推送的良好支持,而 IceFaces 中很好地支持了这一点。
我也喜欢 PrimeFaces 中的 one-jar 依赖项,而 IceFaces 至少需要三个 jar 库才能工作。
问候和祝你好运。