tags:

views:

659

answers:

3

I have just started using JSF and I have three questions related to JSF implementations and component libraries

  1. What is the difference between JSF Implementations and Component Libraries?

  2. What are the various JSF implementations (like Apache MyFaces) that are available and what is the difference between each one of them?

  3. What are the various JSF component libraries (like rich faces and ice faces) that are available and what is the difference between each one of them?

Any relevant links giving the exact information on this would also be helpful. Thanks a lot in advance.

+1  A: 

An implementation is something which implements the JSF specification. A component library is something which adds extra functionality (normally extra UI widgets) to the base specification.

I assume the main difference is standards compliance. As far as I am aware Glassfish is the only application server to fully support the new JSF standard released as part of Java EE 6.

Sorry I'm not sure about the last question.

Simon
+4  A: 

1- What is the difference between JSF Implementations and Component Libraries?

JSF implementations implements the Sun JSF API Specification. They contains at least the standard components (that was the JSF 2.0 TLD, here's the JSF 1.2 TLD) to display any of the available basic ("plain vanilla") HTML elements.

JSF component libraries just adds that extra on top of the basic implementation, often with more skinnability, ajaxability, enhanceability, etcetera, so that you can just program it with a "single component" instead of "a bunch of components" or "custom components".

2- What are the various JSF implementations (like Apache MyFaces) that are available and what is the difference between each one of them?

There are as far two (major) JSF implementations, namely Sun Mojarra and Apache MyFaces. There's technically not much difference as they both just have to adhere the Sun JSF API Specification. Rather look at robustness, availability of documentation, level of support, grade of maintenance (speed of enhancements, bugfixes, releasing, etc), etcetera. I personally prefer Mojarra above MyFaces.

3- What are the various JSF component libraries (like rich faces and ice faces) that are available and what is the difference between each one of them?

There are lot of them, I'll limit myself to the "most used / well known" libraries. If you want more skinning capabilities, look at RichFaces (demo) or IceFaces (demo). If you want more ajaxical capabilities (than what JSF 2.0 already provides), look at RichFaces, IceFaces, Trinidad (demo) or PrimeFaces (demo). If you want more specialized/enhanced components, look at RichFaces, IceFaces, Trinidad, PrimeFaces or Tomahawk (demo).

BalusC
Thanks a lot. That was very apt!
Avinash Nandagiri
A: 

I m Using JSF Implementation Richfaces3.3.4,It in nothing but add new features and Ajax Capabilities in the JSF tag,Like if u want to use Data Table in ur Application u will Use Of Jsf But if u will Use Richfaces U can Use Which ave lots f Features which is not provided by the Jsf DataTable Like Ajax Capabilities,Soring On Column ,Any Action when u will click on any Row of the Table,Pagination of DataTable etc. and all these things are too easy with Richfaces which is much typical if u will use Jsf Standalone . Thanks

subodh