Lately I have seen a spike in questions such as which JSF 2.0 component library is better? Or RichFaces vs PrimeFaces and there is also performance comparison. It’s probably because JSF 2 is being used more and more and people want to know which library to use. I guess that’s fair. Here is my 2 cents.
It’s important to look beyond just components when comparing these component libraries. It’s safe to assume that most have very similar components at this point.
RichFaces 4 is more than just a component library, it’s a rich framework for JSF providing:
- Over 100 rich and Ajax components
- Client-side validation (extension to Bean Validation)
- CDK (Component Development Kit)
RichFaces 4 is JSF 2 based with a CR (Candidate Release) version out very soon. From there, we are just a few weeks from the final version. I know version 4 took a little longer than everyone expected but this version is more than just a typical update. It’s a significant upgrade that includes the following:
- All component were reviewed for consistency, usability, and redesign following semantic HTML principles
- Both server-side and client-side performance optimization
- Strict code clean-up and review
- New and easier to use CDK (Component Development Kit)
I think it’s well worth the extra wait.
Installing RichFaces 4 has been simplified as well. Just drop the Jars into your project, nothing to register in web.xml file anymore.
If you look at Ajax features in JSF 2, then you can see it was greatly inspired by the RicihFaces a4j:support tag. Plus, many components have Ajax built in as well.
The RichFaces community is very active and always willing to help. And don’t forget that RichFaces is backed by JBoss and Exadel.
RichFaces might not have the shiniest components. It wasn’t the first with JSF 2 support. (This argument will be mute in about 1 months). But, keep in mind that RichFaces is used in thousands of projects and has been proven in small, large, and enterprise projects throughout the years. And that’s, probably one of the most important things to keep in mind.