Icesfaces vs Myfaces vs Primefaces

10,567

Solution 1

I happily use Primefaces as it is by far the most rich set of open source JSF2 controls out there, but they can be infuriatingly buggy at times. It is best to operate under the assumption that component X will not work correctly in a dialog without heavy tinkering.

I would avoid Primefaces if you operate in a development environment with strict UI design requirements as getting everything exactly the way you would like it to look and operate may not be a possibility.

Further I would avoid Primefaces if you are not comfortable with JSF, HTML, JQuery, JavaScript and CSS as you will need a good bit of JQuery trickery to work around the bugs that crop up.

But on that note, I haven't run into a problem yet that a couple lines of custom Javascript haven't fixed for me, and I have one of the most feature rich applications I have ever wrote in the shortest amount of time.

Solution 2

There is one thing against Icefaces: a lot of components and functionality are only available in the Enterprise version, which is commercial, not free (but that might as well be a good thing since you get support etc. if your project can afford it).

Why not play with all three libs for a short time, build a simple project and see how you are getting along with either of them. My personal taste prefers Primefaces, but I haven't tried Richfaces since it turned JSF 2 ready.

Solution 3

The speed of development is very fast in this area, and any article gets outdated quickly. I used Primefaces for a new project almost a year ago, because at that time it was the only one that was fully compatible with JSF 2 (both Icefacves and Richfaces have had JSF 2 compatible releases in the meantime).

Primefaces has a lot of powerful components that automatically use AJAX, and even more were added in version 3. Unfortunately this focus on new features led to a lot of bugs, but the developers said they would focus on bugfixing after release 3; I can't say anything about the current status since I left the project after 3 months.

Solution 4

I have successfully used JBoss RichFaces on a large online B2B store. RichFaces is a quite good framework for building webapps Web 2.0 style, and have easy to use tags that help you develop features faster.

I do not have any metrics regarding performance between RichFaces and IceFaces/Primefaces, but the ease of development should be approximately the same. All three frameworks have similar components, and they are all working towards more and more logic on the client via JavaScript.

At the current state of the JSF libraries, I am fairly sure that you will be happy with whichever framework your choose. IMO RichFaces and IceFaces are the two frameworks that have been around the longest, and i would put my bet on one of these two. IIRC both frameworks have key developers in the JSF design group as well.

As a general rule of thumb, these framework should work interoperably, but I wouldn't mix and match between them. The frameworks are really ment to be used on their own.

Share:
10,567
Mark Estrada
Author by

Mark Estrada

Updated on June 15, 2022

Comments

  • Mark Estrada
    Mark Estrada about 2 years

    I am starting out a new project that involves the use of JSF 2.0. From my initial reading, the Mojarra and Apache Implementation of the project covers the basic components that you will need.

    But I know that user's would seek gui with better presentation such as panel tab, accordion, slider etc... Currently, there are other implementation that I am seeing, the Primefaces, RichFaces and Icefaces.

    But I cant find a good article that discusses which among the three are the best.

    I have used Spring MVC before but I use JqueryUI for those widget. Now that I am into component based framework, I would like to use the best JSF Implementation.

    I would like to know metrics such as performance/interoperability/ease of use/support.

    Sorry if my question might be vague but I would like to hear comments before I select my JSF Vendor Implementation.

    Thanks.

  • Mark Estrada
    Mark Estrada almost 13 years
    thanks for the input. Just would like to ask, can I use RichFaces even if I will deploy it to othe JEE server? Say Glassfish or Weblogic? JBoss created this one so I am not sure if they are limiting this product to run on JBoss only.
  • maple_shaft
    maple_shaft almost 13 years
    @Mark, I have used other JBoss libraries on Tomcat and Glassfish in the past without trouble. It shouldn't be an issue but I would certainly prototype it first.
  • maple_shaft
    maple_shaft almost 13 years
    +1 on NOT mix and matching component frameworks! I have never seen this done cleanly.
  • Joachim H. Skeie
    Joachim H. Skeie almost 13 years
    I am successfully using JBoss RichFaces in an embedded Jetty application. No problems with that what so ever. I expect that you can include RichFaces with any Servlet Container or Application Server without any issues.
  • Cagatay Civici
    Cagatay Civici almost 13 years
    Bug fixes, improved quality and stability is one of the goals of PrimeFaces 3.0.
  • maple_shaft
    maple_shaft almost 13 years
    @Cagatay, Thanks! I have been expirementing with it on my new project and I am excited about the new components in 3.0. If I run into any bugs I will submit and see if I can help find a fix. Keep up the good work!
  • Mark Estrada
    Mark Estrada almost 13 years
    Well perhaps, the logical choice for me is to use this PrimeFaces, I notice that it uses Jquery somewhat and I have tried this Jquery library in a previous job. Not that I dont like the other library, I just wanted to minimize the scope of my learnings... =). Thanks anyways to those who have responded