Jump to content

Джакарта Лица

Джакарта Лица
Оригинальный автор(ы) Сан Микросистемс
Разработчик(и) Фонд Затмения
Стабильная версия
4.1.0 [1]  Отредактируйте это в Викиданных / 05.06.2024; 56 дней назад
Репозиторий
Написано в Ява
Тип Фреймворк веб-приложений
Веб-сайт Джакарта .из /спецификации /лица / Отредактируйте это в Викиданных

Jakarta Faces , ранее Jakarta Server Faces и JavaServer Faces ( JSF ) — это спецификация Java для создания компонентных пользовательских интерфейсов для веб-приложений . [2] Он был официально оформлен в качестве стандарта в рамках процесса сообщества Java как часть платформы Java Enterprise Edition . Это MVC веб-инфраструктура , которая упрощает создание пользовательских интерфейсов (UI) для серверных приложений за счет использования повторно используемых компонентов пользовательского интерфейса на странице. [3]

JSF 2.x использует Facelets в качестве системы шаблонов по умолчанию. Пользователи программного обеспечения также могут использовать XUL или Java . [4] JSF 1.x использует страницы JavaServer (JSP) в качестве системы шаблонов по умолчанию.

В 2001 году в первоначальном запросе спецификации Java (JSR) для технологии, которая в конечном итоге стала JavaServer Faces, предлагалось разработать пакет под названием javax.servlet.ui[5]

В июне 2001 года JavaWorld сообщит о разработке командой Эми Фаулер «JavaServer Faces API» (также известного как «Moonwalk») как «платформы приложений для создания пользовательских веб-интерфейсов». [6]

Facelets (разработанный специально для Java Server Faces) был принят в качестве официальной технологии просмотра для JSF 2.0. Это устраняет конфликты жизненного цикла, существовавшие в JSP, и заставляет разработчиков Java искать обходные пути. [7]

Новые разработки JSF также обеспечивают широкий доступ к аннотациям Java, таким как @ManagedBean, @ManagedProperty и @FacesComponent что устраняет необходимость faces-config.xml, во всех случаях, кроме расширения фреймворка. Навигация также упрощается, устраняя необходимость faces-config.xml навигационные кейсы. Переходы страниц можно вызвать, просто передав имя нужного представления или грани.

Добавление обновлений частичного сохранения состояния и объектной модели документа (DOM) является частью встроенной стандартизированной поддержки AJAX .

Последняя версия JSF имеет встроенную поддержку обработки таких ресурсов, как изображения, CSS и Javascript, что позволяет включать артефакты в библиотеки компонентов, разделять их на файлы JAR или просто размещать в одном месте в веб-приложении. Это включает в себя логическое именование и управление версиями ресурсов.

JSF 2.0 также включает ряд других изменений, таких как добавление поддержки событий, отдельных режимов разработки, подготовки и производства, аналогично RAILS_ENV в Ruby on Rails , и значительно расширив стандартный набор компонентов.

История обновлений

[ редактировать ]
  • JSF 4.0 (15 мая 2022 г.) — основные функции: удалены некоторые устаревшие элементы (собственные управляемые компоненты, собственные ссылки EL), расширенное представление по умолчанию отсутствует, добавлен ClientWindowScoped.
  • JSF 3.0.0 (28 октября 2020 г.) — имя пакета изменено с Javax на Jakarta.
  • JSF 2.3 (10 сентября 2019 г.) — первый выпуск API Jakarta Server Pages для Jakarta EE. Ни API, ни поведение не изменились.
  • JSF 2.3 (28 марта 2017 г.) — основные функции: выражения поиска, URL-адреса без расширений, проверка компонентов для полных классов, push-коммуникация с использованием WebSocket , расширенная интеграция с CDI. [8]
  • JSF 2.2 (21 мая 2013 г.) — представлены новые концепции, такие как представления без сохранения состояния, поток страниц и возможность создавать контракты переносимых ресурсов. [9]
  • JSF 2.1 (22 ноября 2010 г.) – Техническая версия 2 JSF 2.0. Лишь очень незначительное количество изменений в спецификации. [10] [11]
  • JSF 2.0 (01.07.2009) — основной выпуск, обеспечивающий простоту использования, расширенную функциональность и производительность. Совпадает с Java EE 6.
  • JSF 1.2 (11 мая 2006 г.) – множество улучшений в основных системах и API. Совпадает с Java EE 5. Первоначальное внедрение в Java EE.
  • JSF 1.1 (27 мая 2004 г.) – выпуск с исправлением ошибок. Никаких изменений в спецификации.
  • JSF 1.0 (11 марта 2004 г.) – выпущена первоначальная спецификация.

Как это работает

[ редактировать ]

, управляемой компонентами пользовательского интерфейса Основываясь на модели проектирования , JavaServer Faces использует XML-файлы, называемые шаблонами представлений или Facelets представлениями . FacesServlet обрабатывает запросы, загружает соответствующий шаблон представления, строит дерево компонентов, обрабатывает события и отображает ответ (обычно на языке HTML) клиенту. Состояние компонентов пользовательского интерфейса и других объектов, представляющих интерес, сохраняется в конце каждого запроса в процессе, называемом stateSaving (примечание: transient true ), и восстанавливается при следующем создании этого представления. Как клиент, так и серверная сторона могут сохранять объекты и состояния.

Мохарра
Другие имена JSF РИ
Оригинальный автор(ы) Сан Микросистемс
Разработчик(и) Фонд Затмения
Первоначальный выпуск 3 марта 2004 г .; 20 лет назад ( 03.03.2004 )
Стабильная версия
3.0.2 / 29 ноября 2021 г .; 2 года назад ( 29.11.2021 )
Репозиторий github /eclipse-ee4j /мохарра
Написано в Ява
Платформа Джакарта, EE
Тип веб-фреймворк
Лицензия ЭПЛ-2.0
Веб-сайт затмение-ee4j .github .что /мохарра /

JSF часто используется вместе с AJAX , технологией разработки насыщенных интернет-приложений . AJAX — это сочетание методов и технологий веб-разработки, позволяющее создавать многофункциональные пользовательские интерфейсы. Компоненты пользовательского интерфейса в Mojarra JSF) . ( эталовая реализация [12] ) и Apache MyFaces изначально разрабатывались только для HTML, а AJAX нужно было добавлять через JavaScript. Однако ситуация изменилась:

Поскольку JSF поддерживает несколько форматов вывода, AJAX можно легко добавлять компоненты с поддержкой для улучшения пользовательских интерфейсов, созданных с помощью JSF. Спецификация JSF 2.0 обеспечивает встроенную поддержку AJAX путем стандартизации жизненного цикла запросов AJAX и предоставления простых интерфейсов разработки для событий AJAX. Спецификация позволяет событию, инициированному клиентом, пройти проверку, преобразование и вызов метода, прежде чем вернуть результат в браузер через обновление XML DOM.

JSF 2 включает поддержку постепенного снижения производительности при отключении JavaScript в браузере.

Компоненты и платформы с поддержкой AJAX

[ редактировать ]

Следующие компании и проекты предлагают платформы JSF или библиотеки компонентов на основе AJAX:

МысльВоркс, 2014 г.

[ редактировать ]

В своей Technology Radar публикации за январь 2014 года компания ThoughtWorks написала: [13]

Мы по-прежнему видим, что команды сталкиваются с проблемами при использовании JSF – JavaServer Faces – и рекомендуем вам избегать этой технологии. Команды, похоже, выбирают JSF, потому что это стандарт JEE, даже не оценивая, подходит ли им модель программирования. Мы считаем, что JSF несовершенен, поскольку он пытается абстрагировать HTML , CSS и HTTP , что прямо противоположно тому, что делают современные веб-фреймворки . JSF, как и веб-формы ASP.NET, пытается создать сохранение состояния поверх протокола без сохранения состояния HTTP и в конечном итоге вызывает целый ряд проблем, связанных с общим состоянием на стороне сервера. Мы знаем об улучшениях в JSF 2.0, но считаем, что модель в корне неверна. Мы рекомендуем командам использовать простые платформы, а также использовать и понимать веб-технологии, включая HTTP, HTML и CSS.

Опровержение

[ редактировать ]

В феврале 2014 года Чагатай Чивичи (руководитель PrimeFaces) ответил на критику ThoughtWorks в посте под названием « JSF — это не то, что вам больше говорили» . Чивичи утверждает, что улучшения в JSF, произошедшие за последние годы, предлагают множество функций, охватывающих современную веб-разработку, предоставляя возможность писать свои собственные JavaScript, HTML и CSS. Также относительно государства Чивич писал: [14]

JSF по своей природе является структурой с сохранением состояния, а состояние упрощает разработку веб-приложений. Благодаря улучшенным методам управления состоянием, представленным в JSF 2.0+ (например, режим без сохранения состояния, частичное сохранение состояния), JSF также может масштабироваться.

ДЗона, 2014

[ редактировать ]

В статье, опубликованной в ноябре 2014 года на веб-сайте DZone под названием «Почему вам следует избегать JSF», Йенс Шаудер написал: [15]

Facelets, предпочтительная технология представления JSF, на первый взгляд выглядит как обычная технология шаблонов, такая как старый добрый JSP или Thymeleaf. Но если присмотреться, ужас становится очевидным. Там же, где вы структурируете свой HTML, вы также размещаете логику того, какие части пользовательского интерфейса должны обновляться при действии. Явное нарушение принципа разделения интересов в моей книге. Еще лучше — непосредственный атрибут, который меняет жизненный цикл на стороне сервера! И если этого недостаточно, он делает это по-разному в зависимости от того, на каком теге вы его используете. Такие вещи выдумывать нельзя.

Серверная сторона, 2016 г.

[ редактировать ]

В феврале 2016 года веб-сайт корпоративного сообщества Java TheServerSide опубликовал статью, в которой рекомендовалось не использовать JSF, использование которого может поставить под угрозу качество конечного продукта. В статье подробно описаны пять причин: [16]

  1. Простые задачи становятся трудными;
  2. JSF не хватает гибкости;
  3. Кривая обучения крутая;
  4. Несовместимость со стандартными технологиями Java; и
  5. Примитивная поддержка AJAX.
  1. ^ «Выпуск 4.1.0» . 5 июня 2024 г. Проверено 5 июня 2024 г.
  2. ^ Джакарта Лица 4.0
  3. ^ «Учебное пособие по JSF 2.0» . мкёнг. 12 декабря 2010 г. Проверено 28 апреля 2017 г. JavaServer Faces (JSF) 2.0 — это веб-фреймворк MVC, который упрощает создание пользовательских интерфейсов (поставляется с более чем 100 готовыми тегами пользовательского интерфейса) для веб-приложений Java и упрощает реализацию многократно используемого компонента пользовательского интерфейса.
  4. ^ NoVDL: напишите свои представления JSF на чистой Java.
  5. ^ «JSR 127: Лица JavaServer» . Процесс сообщества Java . Корпорация Оракл. 2014 . Проверено 5 августа 2014 г. 2.6 Есть ли предлагаемое название пакета для спецификации API? (т. е. javapi.something, org.something и т. д.) [:] javax.servlet.ui
  6. ^ Армстронг, Эрик (6 июня 2001 г.). «Веб-сервисы Java: что не нравится?» . JavaWorld . Проверено 27 июля 2020 г. API JavaServer Faces (он же Moonwalk) обещает предоставить элегантное решение для реализации интерактивных функций в несовместимых браузерах. [...] Разработанный командой под руководством Эми Фаулер, архитектора Sun AWT и Swing, API JavaServer Faces предоставит набор инструментов с графическим интерфейсом, которые будут работать в обычных браузерах с использованием стандартного HTML.
  7. ^ Бергстен, Ганс. «Улучшение JSF путем сброса JSP» . О'Рейли . Проверено 18 августа 2011 г.
  8. ^ Таймс, Арьян. «Что нового в JSF 2.3?» . Размышления Java EE-разработчика . Проверено 27 июля 2020 г.
  9. ^ JSF 2.2 (JSR-344) является окончательной | техническая разведка через новости Java . Архивировано 27 июля 2020 г. на Wayback Machine . Блог.oio.de. Проверено 27 июля 2020 г.
  10. ^ JSR 314 JavaServer Faces 2.1 JSF 2.1 | технический поиск через новости Java. Архивировано 27 июля 2020 г. на Wayback Machine . Блог.oio.de. Проверено 27 июля 2020 г.
  11. ^ Босх, Энди (29 ноября 2010 г.). «Was ist neu in JSF 2.1» (на немецком языке). it-republik.de . Проверено 19 февраля 2013 г.
  12. ^ Любке, Райан (5 декабря 2007 г.). «Проект Мохарра — JSF RI получает кодовое имя» . Блог Райана Любке . Сан Микросистемс . Корпорация Оракл . Архивировано из оригинала 7 апреля 2017 г.
  13. ^ «Технологический радар» (PDF) . МысльВоркс. Январь 2014. с. 12. Архивировано из оригинала (PDF) 7 апреля 2016 г. Проверено 30 января 2014 г.
  14. ^ «JSF — это больше не то, что вам говорили» . Праймфейс . 12 февраля 2014 г. Проверено 24 ноября 2020 г.
  15. ^ Йенс Шаудер (ноябрь 2014 г.). «Почему вам следует избегать JSF» . ДЗона.
  16. ^ Маккензи, Кэмерон (16 февраля 2016 г.). «Пять недостатков выбора JSF в качестве платформы веб-приложений» . Серверная сторона . Проверено 22 декабря 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e0760e043e43611ad8c910669339998e__1717062660
URL1:https://arc.ask3.ru/arc/aa/e0/8e/e0760e043e43611ad8c910669339998e.html
Заголовок, (Title) документа по адресу, URL1:
Jakarta Faces - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)