In the JavaEE GitHub there is the repository javaserverfaces-spec
that in its README.md
says:
JavaServer Faces (JSF) is the JCP Standard technology for authoring component based user interfaces on the Java EE platform. This particular GitHub project hosts the official JSF specification issue tracker. There are two implementations of the JSF specification, both of which developed with OSI approved Open Source licenses.
Already the Wiki of the tag says:
JavaServer Faces (JSF) is a Model-View-Controller framework commonly used to create web applications. Always tell: What is the JSF version you are using; What technology are you using, JSP or Facelets; Error messages displayed; Minimum copy of code that can be executed.
In the Tag Wiki you have a Wikipedia link , which says:
JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications. It has an event-driven programming model, abstracting the details of event manipulation and component organization, allowing the programmer to focus on the logic of the application.
I also found this article from the 2005 Oracle Technology Network that says:
One of the key advantages of JSF is that it is both the Java Web user-interface standard as well as a framework that firmly follows the Model-View-Controller (MVC) design pattern.
After reading these articles / sources I did not understand two things:
Is JSF a specification or framework?
JSF is MVC?