Primefaces Vs Icefaces 2 Vs Richfaces [closed]
Asked Answered
J

3

8

We soon start development for a new web application and are currently evaluating/proposing the technology stack to use.

For the view layer, we have to choose between Primefaces, Icefaces 2 (since we definitely want JSF2) and Richfaces. Our basic requirements are look and feel, simplicity and ease of development, scalability and performance (most important).

Which view technology/framework would be most feasible to leverage. We would appreciate any inputs/expert opinion. Also, if there are any other recommended frameworks, please let us know.

Thanks and Regards

Jeep answered 18/5, 2011 at 16:20 Comment(2)
Please look at this primefaces.org/showcase/ui/dialog.jsfGarbe
Three part of difference between PrimeFaces vs RichFaces vs IceFaces in JSF: Part 1, Part 2 and Part 3,Christenson
A
9

I've used both ICEfaces and PrimeFaces and prefer PrimeFaces for two main reasons: development efficiency and UI performance/responsiveness.

The dialog component illustrates both:

Compare this in PrimeFaces:

<p:dialog widgetVar="dialog"> [content] </p:dialog>
...
<a href="#" onClick="dialog.show()">Open dialog</a>

To this in ICEfaces:

<ice:panelPopup rendered="#{bean.dialogOpen}"> **dialog chrome** [content]
</ice:panelPopup>

<ice:commandLink action="#{bean.showDialog}">Open dialog</ice:commandLink>

In ICEfaces, you need a server-side round trip and a managed bean property + action listener to open a dialog. In PrimeFaces, thanks to "widgetVar", you can bind the component to a client-side variable accessible in jQuery and regular DHTML events.

Further, the PrimeFaces components handle many of the common cases with less code; for example, a dialog component includes the title bar and the "X" to close, while in ICEfaces you have to roll your own for that (or buy the EE with composite components).

Lastly, the "automatic AJAX" server-side DOM diff in ICEfaces can create performance issues server-side if your pages get big - most of the time you know what you want to refresh, and explicitly specifying update="id" on a component is more effective.

Ampliate answered 14/7, 2011 at 20:16 Comment(0)
B
4

Try them all in a small POC, a few pages maybe and then decide for yourself. Also consider maturity, support available, resources available, enterprise features, etc. In my experience, A vs. B vs. C rarely produce good argument whether to go with one component library or another.

Bouton answered 18/5, 2011 at 16:45 Comment(1)
Thank you for the suggestion Max. I guess we will go the POC route.Jeep
P
3

I've tried IceFaces and PrimeFaces and finally chose PrimeFaces due to zero-configuration start-up, simplicity with the use of components and the good great integration with JQuery. I only miss a good support for server-push in PrimeFaces while this is well supported in IceFaces.

I also liked the one-jar dependency in PrimeFaces while IceFaces needs, at least, three jar libraries to work.

Regards and good luck.

Palliasse answered 19/5, 2011 at 13:35 Comment(1)
Thank you very much. From what I have read on the internet so far, I am leaning towards Primefaces myself. I have worked with Icefaces extensively and we used the ajax push feature heavily but it also led to a lot of undesirable render cycles.Jeep

© 2022 - 2024 — McMap. All rights reserved.