Реализации JSF и библиотеки компонентов

Я только начал использовать JSF, и у меня есть три вопроса, связанных с реализациями JSF и библиотеками компонентов

  1. В чем разница между реализациями JSF и библиотеками компонентов?

  2. Какие существуют различные реализации JSF (например, Apache MyFaces) и чем они отличаются друг от друга?

  3. Какие существуют доступные библиотеки компонентов JSF (например, обогащенные грани и грани льда) и в чем разница между каждой из них?

Любые соответствующие ссылки, дающие точную информацию об этом, также будут полезны.

2 ответа

В чем разница между реализациями JSF и библиотеками компонентов?

Реализации JSF реализуют Спецификацию API JSF. Они содержат, по крайней мере, стандартные компоненты для отображения любого из доступных базовых ("простых ванильных") HTML-элементов.

Библиотеки компонентов JSF просто добавляютэто дополнение к базовой реализации, часто с большей скинируемостью, настраиваемостью, расширяемостью и так далее, так что вы можете просто запрограммировать его с одним компонентом вместо набора компонентов или пользовательских компонентов, в конце концов вместе с связка связанного кода JS/CSS.


Какие существуют различные реализации JSF (например, Apache MyFaces) и чем они отличаются друг от друга?

Существуют две (основные) реализации JSF, а именно Oracle Mojarra и Apache MyFaces. Технически нет особой разницы, поскольку им обоим нужно просто придерживаться спецификации API JSF. Лучше взгляните на надежность, доступность документации, уровень поддержки, уровень обслуживания (скорость улучшений, исправления ошибок, выпуски и т. Д.) И так далее. Смотрите также: Разница между Мохаррой и MyFaces


Какие существуют доступные библиотеки компонентов JSF (например, обогащенные грани и грани льда) и в чем разница между каждой из них?

Их много, я ограничусь наиболее используемыми / хорошо известными библиотеками. Если вы хотите больше возможностей для создания скинов, посмотрите на PrimeFaces ( демо), RichFaces ( демо) или ICEFaces ( демо). Если вы хотите больше возможностей Ajaxical (помимо того, что уже есть в JSF 2.0), посмотрите на PrimeFaces, RichFaces, ICEFaces, OpenFaces ( демо) или Тринидад ( демо). Если вам нужны более специализированные / улучшенные компоненты, посмотрите на PrimeFaces, RichFaces, ICEFaces, OpenFaces, Тринидад или Томагавк ( демо). Разница в основном заключается в доступном наборе компонентов и степени настраиваемости.

Далее есть также служебная библиотека JSF. Вы, вероятно, узнаете, что заново изобретаете / переписываете некоторые FacesUtil, JSFUtilsи т.д. классы каждый раз и / или пользовательские теги / компоненты для решения типичных и повторяющихся JSF-специфических проблем. OmniFaces ( demo) разработан, чтобы заполнить этот пробел, предоставляя многократно используемую стандартную библиотеку утилит JSF, которую можно использовать в сочетании с каждой реализацией JSF и библиотекой компонентов.

Реализация - это то, что реализует спецификацию JSF. Библиотека компонентов - это то, что добавляет дополнительную функциональность (обычно дополнительные виджеты пользовательского интерфейса) к базовой спецификации.

Я предполагаю, что основным отличием является соответствие стандартам. Насколько мне известно, Glassfish является единственным сервером приложений, который полностью поддерживает новый стандарт JSF, выпущенный как часть Java EE 6.

Извините, я не уверен насчет последнего вопроса.

Другие вопросы по тегам