29

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.

Kukeltje
  • 12,223
  • 4
  • 24
  • 47
learner
  • 757
  • 2
  • 14
  • 35
  • 5
    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 Nov 19 '12 at 08:26
  • 1
    It are just JSF UI component libraries. Just look at their own homepages to see demo pages. – BalusC Nov 19 '12 at 11:45
  • On the other hand, perhaps your question is simply poorly formulated and you're actually trying to ask the same as [this user](http://stackoverflow.com/questions/2167509/jsf-implementations-and-component-libraries). – BalusC Nov 19 '12 at 11:47
  • http://www.mastertheboss.com/jboss-web/richfaces/primefaces-vs-richfaces-vs-icefaces – ROMANIA_engineer Jan 04 '16 at 09:53

4 Answers4

25

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

Mukul Goel
  • 8,387
  • 6
  • 37
  • 77
  • 4
    'Ajax without Javascript' is a contradiction in terms. You've given three different descriptions but apart from the error they all say the same thing. – user207421 Jun 28 '15 at 01:19
  • @EJP O yea.. you are correct. The source is referred. Its a wiki page. Please feel free to update the page and my answer. Thanks (y) – Mukul Goel Jun 29 '15 at 13:55
  • And Openfaces? Which is the standard JEE solution? – powder366 Feb 14 '16 at 17:06
6

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.

roel
  • 2,005
  • 3
  • 26
  • 41
  • 3
    okay then i say it this way. JSF is a FRAMEWORK and rich/prime/ice faces are the components that could be used with in this framework. this this statement correct? – learner Nov 19 '12 at 08:37
  • yesn you could say that. Although you don't need a component library like rich or prime. You can use JSF framework on its home. JSF have build in 'simple' components. But these libraries makes life a little easier (sometime;) and your app more rich. – roel Nov 19 '12 at 13:55
  • Thanks alot for all the experts. – learner Nov 19 '12 at 17:24
6

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

Ahmed Raaj
  • 508
  • 4
  • 16
5

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.

user207421
  • 305,947
  • 44
  • 307
  • 483
Petr Mensik
  • 26,874
  • 17
  • 90
  • 115
  • correct sir. but people ask me questions like this "are you using rich faces with jsf?" it makes rich faces and jsf two separate things...and like rich/prime/ice faces are to be used WITH-IN jsf? is that like it? – learner Nov 19 '12 at 08:35
  • 1
    You have to use all of these frameworks together with JSF (because the core of each of this framework is the same, there are just adding more components to it) – Petr Mensik Nov 19 '12 at 08:39
  • 2
    Petr means, You cannot use prime or ice or rich without the jsf framework. But you don't have to use prime and ice and rich. – roel Nov 19 '12 at 13:53
  • Yes, exactly, only JSF is neccessary, all other frameworks are just add-ons. – Petr Mensik Nov 22 '12 at 06:47