JSF is the standard (JSR-127), MyFaces is an implementation of that standard, and yes, it's open-source. Another one is Oracle's ADF Faces. I think tht one's free to use, although I don't lnow about it being open-source.
There was also a Sun Reference Implementation JSF, which ws pretty feeble. I think they broke it and then abandoned it.
JSFs aren't mix-and-match, BTW. I got into trouble when I first used JSF because I'd installed the Sun RI and then added MyFaces to it. I had to remove the Sun RI JSF stuff from the project before things would behave reliably.
Sometimes the only way things ever got fixed is because people became uncomfortable.
JSF-RI (RI == Reference Implementation) is Sun's JSF-implementation and everything else than dead. Right now it's the only implementation that is on the JSF 1.2 level.
MyFaces is an Apache Project delivering some items: - MyFaces JSF implementation - Tomahawk component library - Tobago a donated (now opensource) component library - Trinidad, parts of Oracle's ADF-Faces which have been opensourced
Also could someone explain if the reference implementation (JSF 1.1) has the same functionality as MyFaces, i.e. are they interchangable? If they are does this mean that you can use the tomahawk components with the RI?
Originally posted by jonny moo: Also could someone explain if the reference implementation (JSF 1.1) has the same functionality as MyFaces, i.e. are they interchangable? If they are does this mean that you can use the tomahawk components with the RI?
I am using jsf 1.1 with tomahawk. But I just started working on it. Why I use is, am using tomcat 4.1.29 version and I just want to avoid writing custom components for tab pane. In tomahawk, there is a tag that will work with tomcat 4.1.29 . I don't know whether there is any problems when I grow with the developement using both jsf and tomahawk. Appreciate any comments.
Originally posted by thamara chempakam: what is the benefit of apache myfaces over JSF1.2
First, let's clear up the terminology. JSF 1.2 is a specification. MyFaces provides an implementation of this specification. I believe the original intent of the question is what's the difference between the 1.2 RI and MyFaces 1.2.
If that is indeed the case, technically they should both be the same, as they implement the same spec. However, the RI has been out and actively worked for over a year (bug fixes, performance fixes, features). MyFaces 1.2 has been out for one or two months, and have had the usual issues associated with a first release.
That said, MyFaces also has a very nice component community. These components should run on *any* compliant JSF implementation (meaning the RI or MyFaces).