JSF:
- На языке шаблонов JSF (Facelets) это легко.Вы просто пишете обычный HTML и добавляете только атрибут jsfc для динамических частей.См. Статью в Википедии для быстрого примера: http://en.wikipedia.org/wiki/Facelets
- Используя составные компоненты JSF, это действительно легко.Просто поместите свой jquery в файл .xhtml, добавьте небольшой заголовок, и он будет использоваться везде как компонент.Многие компоненты, основанные на jquery, также доступны напрямую, используя PrimeFaces
- JSF, превосходный в этом механизме синхронизации.Синхронизация происходит через четко определенное и простое для понимания количество шагов.По сути, этот механизм синхронизации является более или менее основной причиной использования JSF вместо прямой записи jquery.
- JSF имеет именно это и даже называется именно 1013 *.Они представляют собой мощный механизм определения навигации во внешнем XML-файле.Правило навигации может быть определено на основе логических результатов и / или действий, выполняемых на определенных страницах.Они могут быть основаны на переадресации или перенаправлении, с дополнительными параметрами или без них.
- JSF overal работает очень хорошо.Он сохраняет (сохраняет) состояние, так что это стоит вам немного памяти, но он достаточно умен, чтобы сохранить его только частично (значения отличаются от их исходных значений).Кроме того, вы можете решить сохранить это состояние на клиенте или сервере.Из-за очень удобного
view scope
небольшие объемы данных, используемые вашей логикой поддержки, могут очень легко кэшироваться между запросами.Это избавляет вас от попадания в БД после каждого запроса и может значительно повысить производительность.
Одна из областей, в которой JSF действительно сияет, - это его компонентная модель.Составлять компоненты самостоятельно очень легко с помощью концепции составных компонентов.Вы также можете создавать компоненты в Java, что немного сложнее, но все же совершенно не сложно.
Поскольку модель компонентов JSF стандартизирована и очень четко задокументирована, многие, многие сторонние организации предоставляют готовые библиотеки компонентов.Например, RichFaces, Primefaces, OpenFaces, IceFaces, Тринидад ... список почти бесконечен.
Некоторые дополнительные замечания о производительности.Сравнивая любую из трех веб-платформ, вы упоминаете, что разница незначительна, и, как правило, веб-фреймворк не там, где большая часть времени тратится на обработку запроса.Это почти всегда в базе данных и в IO.
Веб-инфраструктура может помочь, упрощая предотвращение перехода к БД, но даже если веб-инфраструктура A в 10 раз быстрее в синтетических тестах, которые затрагивают только веб-слой, чем инфраструктура B, то на практике вы вряд лизаметьте это, если только 5% времени запроса тратится в этих рамках.