JavaServer Faces | это... Что такое JavaServer Faces? (original) (raw)

JavaServer Faces

20110510-jsf-logo.png
Тип Веб-фреймворк
Разработчик Sun Microsystems
Написана на Java
Операционная система Кроссплатформенное ПО
Последняя версия 2.1.14 (23 октября 2012 года)
Сайт JSF web site (англ.)

JavaServer Faces (JSF) — это фреймворк для веб-приложений, написанный на Java. Он служит для того, чтобы облегчать разработку пользовательских интерфейсов для Java EE приложений. В отличие от прочих MVC фреймворков, которые управляются запросами, подход JSF основывается на использовании компонентов. Состояние компонентов пользовательского интерфейса сохраняется, когда пользователь запрашивает новую страницу и затем восстанавливается, если запрос повторяется. Для отображения данных обычно используется JSP, Facelets, но JSF можно приспособить и под другие технологии, например XUL.

Технология JavaServer Faces включает:

Созданная быть гибкой, технология JavaServer Faces усиливает существующие, стандартные концепции пользовательского интерфейса (UI) и концепции Web-уровня без привязки разработчика к конкретному языку разметки, протоколу или клиентскому устройству. Классы компонентов пользовательского интерфейса, поставляемые вместе с технологией JavaServer Faces, содержат функциональность компонент, а не специфичное для клиента отображение, открывая тем самым возможность рендеринга JSF-компонент на различных клиентских устройствах. Совмещая функциональность компонент интерфейса пользователя со специальными рендерерами, разработчики могут конструировать специальные теги для заданного клиентского устройства. В качестве удобства технология JSF предоставляет специфичный рендерер и специальную библиотеку JSP-тегов для рендеринга на HTML-клиенте, позволяя разработчикам приложений на J2EE платформе использовать технологию JSF в своих приложениях.

Версии JSF

Критика

JSF версий 1.* фактически не предоставлял высокоуровневой поддержки для обработки GET-запросов[2], что существенно усложняло разработку приложений, базирующихся на REST-принципах. Во второй версии спецификации этот недостаток практически полностью устранён.

Разработчик языка Java, Джеймс Гослинг, охарактеризовал технологию JSP, лежащую в основе JSF, как «проект-клон Microsoft ASP, который был создан, только чтобы продемонстрировать насколько сама подобная идея плоха; но модель почему-то отказалась умирать»[3].

Библиотеки и компоненты

Примечания

  1. Hans Bergsten Improving JSF by Dumping JSP (англ.) (9 июня 2004). Архивировано из первоисточника 22 февраля 2012. Проверено 8 августа 2009.
  2. Andy Schwartz Blog: What’s new in JSF2?
  3. James Gosling on Apple, Apache, Google, Oracle and the Future of Java. 0:48:22
  4. Домашняя страница RichFaces (англ.). Архивировано из первоисточника 22 февраля 2012. Проверено 1 апреля 2010.

Ссылки

Литература

Просмотр этого шаблона Веб-фреймворки
ASP.NET DotNetNukeASP.NET MVC • MonoRail
ColdFusion ColdSpring • Fusebox • Mach-II • Model-Glue
Java Apache (CocoonStrutsVelocity • WebWork 2) • AppFuse • AraneaEclipseFacelets • Flexive • FreeMarkerGoogle Web ToolkitGrailsHamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Makumba • OpenLaszlo • OpenXava • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClientSpringStripesTapestry • ThinWire • VaadinWebMacro • WebWork • WebObjects • WicketZK
JavaScript node.js • AJILE • Clean AJAX • Dojo Toolkit • Echo • Ext JSjQueryjMaki • Microsoft AJAX Library • MochiKit • MooToolsPrototype • qooxdoo • Rialto Toolkit • Ricoscript.aculo.usSmartClientSprySproutCoreYahoo! UI LibraryUnderscorePhoneGap
Perl CatalystInterchange • Titanium • Maypole • HTML:Mason
PHP Acode • Akelos • BlueShoes • CakePHP • Canvas • CodeIgniterCotonti • DIY • Drupal • Fuse • Horde • KohanaLiveStreet • PHP For Applications • PHPOpenbiz • PRADO • Qcodo • Seagull • Solar • Symfony • W3Core • YiiZend • Zoop • Joomla
Python CherryPyDjangoGAE framework • Karrigell • Nevow • Porcupine • PylonsPyramid • Spyce • TurboGearsTwistedTornado • Webware • Zope
Ruby Camping • Nitro • IOWA • Ramaze • Cerise • MerbRuby on RailsSinatra • Padrino
Прочиеязыки Alpha Five • Fusebox (ColdFusionPHP) • Helma Object Publisher (Server-side) • Lift (Scala) • Magic (Scheme) • OpenACS (Tcl) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) • Oracle Application Express (PL/SQL)