Реализации JSF и библиотеки компонентов [закрываются]

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

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

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

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

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

45
задан ROMANIA_engineer 14 October 2017 в 22:40
поделиться

2 ответа

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

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

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

3
ответ дан 26 November 2019 в 21:09
поделиться

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

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

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


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

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


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

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

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

91
ответ дан 26 November 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: