我们很快开始开发新的Web应用程序,目前正在评估/提出要使用的技术堆栈。
对于视图层,我们必须在Primefaces,Icefaces 2(因为我们绝对需要JSF2)和Richfaces之间进行选择。我们的基本要求是外观和感觉,简单易用的开发,可扩展性和性能(最重要的)。
哪种观点技术/框架最可行。我们将不胜感激任何投入/专家意见。此外,如果有任何其他推荐的框架,请告诉我们。
谢谢和问候
答案 0 :(得分:9)
我使用了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 diff会在服务器端产生性能问题 - 大多数时候你知道你要刷新什么,并明确指定update =“id”在一个组件上更有效。
答案 1 :(得分:4)
在小POC中尝试所有这些,可能只有几页,然后自己决定。还要考虑成熟度,可用支持,可用资源,企业功能等。根据我的经验,A与B与C很少产生良好的争论,无论是使用一个组件库还是其他组件库。
答案 2 :(得分:3)
我尝试过IceFaces和PrimeFaces,最后选择了PrimeFaces,因为零配置启动,使用组件的简单性以及与JQuery的良好集成。 我只是错过了对PrimeFaces中服务器推送的良好支持,而这在IceFaces中得到了很好的支持。
我也很喜欢PrimeFaces中的one-jar依赖,而IceFaces至少需要三个jar库才能工作。
问候并祝你好运。