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.
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
RichFaces : is an open source Ajax-enabled component library for JavaServer Faces
ICEfaces, open-source, Java JSF extension framework and rich components, Ajax without JavaScript
PrimeFaces Ajax framework with JSF components
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.
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.
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
来源:https://stackoverflow.com/questions/13449927/difference-between-jsf-richfaces-primefaces-and-icefaces