Ответ 1
В чем разница между реализациями JSF и библиотеками компонентов?
Реализации JSF реализуют Спецификацию API JSF. Они содержат по крайней мере стандартные компоненты для отображения любых доступных базовых ("plain vanilla") HTML-элементов.
Библиотеки компонентов JSF просто добавляют это дополнение поверх базовой реализации, часто с большей скинируемостью, ajaxability, повышаемостью и т.д., так что вы можете просто запрограммировать его с помощью одного компонента вместо набора компонентов или настраиваемых компонентов, в конечном итоге наряду с рядом связанных JS/CSS-кода.
Какие существуют различные реализации JSF (например, Apache MyFaces), и какая разница между ними?
Существуют две (основные) реализации JSF, а именно Oracle Mojarra и Apache MyFaces. Там технически не так много различий, поскольку они оба должны придерживаться Спецификации API JSF. Скорее посмотрите на надежность, доступность документации, уровень поддержки, уровень обслуживания (скорость усовершенствований, исправления, выпуск и т.д.) И т.д. См. Также: Разница между Mojarra и MyFaces
Каковы различные библиотеки компонентов JSF (например, богатые лица и ледяные поверхности), и какая разница между ними?
Их много, я ограничусь наиболее используемыми/хорошо известными библиотеками. Если вы хотите больше возможностей скиннинга, посмотрите PrimeFaces (demo), RichFaces (demo) или ICEFaces (демонстрация). Если вам нужны более аяксиальные возможности (помимо того, что уже предоставляет JSF 2.0), посмотрите на PrimeFaces, RichFaces, ICEFaces, OpenFaces (demo) или Trinidad (demo). Если вам нужны более специализированные/расширенные компоненты, посмотрите на PrimeFaces, RichFaces, ICEFaces, OpenFaces, Trinidad или Tomahawk (демонстрация). Разницу в основном можно найти в доступном наборе компонентов и степени настраиваемости.
Кроме того, есть также служебная библиотека JSF. Вероятно, вы узнаете, что каждый раз пересматриваете/переписываете классы FacesUtil
, JSFUtils
и т.д. Каждый раз и/или настраиваемые теги/компоненты для решения типичных и повторяющихся проблем, связанных с JSF. OmniFaces (демонстрация) предназначена для заполнения этот пробел, предоставляя повторно используемую стандартную библиотеку утилит JSF, которые могут использоваться в сочетании с каждой реализацией JSF и библиотекой компонентов.