JavaServer™ Faces (JSF) is one of the standards developed under the Java Community Process (JCP) and was first introduced with Java EE 1.4. The first version of JSF had its share of proponents, but also had its share of criticism. Over the years it has been continuously improved by JCP Expert Groups (EGs) and extended by 3rd-party libraries like PrimeFaces, ICEfaces, RichFaces, OmniFaces, BootsFaces, AngularFaces, ADF Faces, OpenFaces, MyFaces Tomahawk, MyFaces Trinidad, and Liferay Faces.

In a recent poll of over 1,000 respondents, JSF ranked as the most popular webapp framework (just ahead of Spring MVC). Over the years I've asked myself the question -- What is the main reason for the longevity of JSF? Also, why do so many developers continue to use JSF in new projects? Here are some possible reasons:

Perhaps all of these reasons combined may be the answer.

But I think there is a decisive moment in the history of JSF that is the primary reason why the technology is still popular in new projects today. Here is a brief chronological list of some possibilities:

Conclusion

Which event do I think was the decisive moment in the history of JSF?

#6: 17 Aug, 2005: Jacob Hookom publishes the first of a three-part series of articles titled Inside Facelets on JSF Central.

Why do I think that is the case? Well as Rick Hightower once wrote: "Facelets fits JSF like a glove." And as Gavin King once said in an interview: "I think Facelets is by far the best templating engine I have ever worked with."

It is my opinion that the widespread usage and adoption of JSF can likely be traced back to Jacob's article at JSF Central, which led to the widespread usage of jsf-facelets.jar in JSF 1.2 webapps and the eventual inclusion of Facelets in the JSF 2.0 standard under JSR 314.

I would like to thank everyone mentioned in this article, everyone who has worked on the JSF EGs over the years, as well as the Faces of JSF for their dedication and hard work.