27
votes

I am new to jsf and want to know about the clear difference between JSF, Rich-/Prime-/IceFaces.

In JSF we create pages with .jsp extension and write java code in the backing beans.

But how exactly all "faces" are different and related to jsf.

4
Correction about jsf extension. .jsp was used majorly with earlier versions of jsf 1.x , since jsf2.x we are more commonly using .xhtml (Facelets) as extension.Mukul Goel
It are just JSF UI component libraries. Just look at their own homepages to see demo pages.BalusC
On the other hand, perhaps your question is simply poorly formulated and you're actually trying to ask the same as this user.BalusC

4 Answers

23
votes

I think if you put it very simply . ref : Source

JSF is a request-driven MVC web framework for constructing user interfaces using components.

And PrimeFaces/RichFaces/IceFaces are components/JSF libraries that you can use on top of JSF

  1. RichFaces : is an open source Ajax-enabled component library for JavaServer Faces

  2. ICEfaces, open-source, Java JSF extension framework and rich components, Ajax without JavaScript

  3. PrimeFaces Ajax framework with JSF components

6
votes

Prime, Rich and ice faces are a bundle of components you can use in your jsf pages. If you google "primefaces showcase" you get a showcase of all components available in primefaces. In stead of just using the simple standard jsf components you can use the ones from prime, rich or ice or another library. A component can be example: a table with sorting, or a calendar input.

Using these librarys will make it easier to develop rich applications.

6
votes

I will just give a general comparison among JSF and other Faces libraries.

JSF: Standard Framework based on component architecture from Oracle. It has Model-View-Controller Architecture. Model(ie: Backing Bean), Controller( ie: JSF Servlet) and View ( ie: JSP, XHTML ). So it can be used with JSP or XHTML.

RichFaces/PrimeFaces/ICEfaces: These all are the external component library for JSF, provide more customized components and additional features. So its better to use any one of these component library with JSF application to make life easier. For example JSF has a <h:dataTable></h:dataTable> component for displaying data in HTML table format. On the other hand Prime Faces Data Table <p:dataTable></P:dataTable> provides more features and flexibility over JSF Data Table.

So if anyone wants to customize JSF components and create additional features or additional components, they can just make their own component libraries by extending JSF standard component library or use the existing component library available currently which are RichFaces/PrimeFaces/ICEfaces

5
votes

Well, not really. JSF is the successor of JSP created by Oracle/Sun. All other *faces frameworks are based orginally on JSF but they have more features (usually more components which are not present in JSF, better Ajax support and so on). But it is still the same old JSF with some gilding on it:).

Also a note - any kind of JSF project can have more extensions then .jsp, for example .xhtml, .jsf and so on.