Articulo de referencia

Caras ricas

{{Cite web|url=http://richfaces.jboss.org/download/stable.html|title = Stable Downloads - JBoss Community}} "},"latest release date":{"wt":"{{Start date and age|2016|6|22}}"},"g...

RichFaces era una biblioteca de componentes de código abierto compatible con Ajax para JavaServer Faces , alojada en JBoss . Permitía una fácil integración de las funcionalidades de Ajax en el desarrollo de aplicaciones empresariales . Su soporte finalizó en junio de 2016.

RichFaces es más que una simple biblioteca de componentes para JavaServer Faces. Añade:

  • Personalización de la apariencia (cambia y actualiza fácilmente el aspecto de la aplicación)
  • Kit de desarrollo de componentes (CDK) para ayudar en la construcción de componentes JavaServer Faces.
  • Marco de recursos dinámicos
  • Componentes de control Ajax tanto para toda la página como para componentes individuales.

Historia

RichFaces se originó a partir del framework Ajax4jsf que Alexander Smirnov diseñó e implementó. [ 2 ] En otoño de 2005, Smirnov se unió a Exadel y continuó desarrollando el framework. En marzo de 2006, Exadel lanzó la primera versión de lo que se convertiría en Ajax4jsf. Más tarde, ese mismo año, Exadel VCP se separó y nacieron el framework Ajax4jsf y RichFaces. Mientras que RichFaces proporcionaba componentes listos para usar (un enfoque Ajax "centrado en componentes", donde los componentes hacen todo lo necesario), Ajax4jsf proporcionaba soporte Ajax para toda la página. Los desarrolladores especifican qué partes de la página debe procesar el servidor después de ciertas acciones del usuario en el lado del cliente y qué partes deben actualizarse después del procesamiento. Ajax4jsf se convirtió en un proyecto de código abierto alojado en java.net , mientras que RichFaces se convirtió en una biblioteca de componentes JSF comercial.

En marzo de 2007, JBoss (una división de Red Hat desde 2006) y Exadel firmaron un acuerdo de colaboración por el cual Ajax4jsf y RichFaces se integrarían bajo el paraguas de JBoss como "JBoss Ajax4jsf" y "JBoss RichFaces", respectivamente. RichFaces también se convertiría en software libre y de código abierto. En septiembre de 2007, JBoss y Exadel decidieron fusionar Ajax4jsf y RichFaces bajo el nombre de RichFaces. Esto tenía sentido, ya que ambas bibliotecas eran ahora gratuitas y de código abierto. Contar con un solo producto resolvió muchos problemas de compatibilidad y versiones existentes, como qué versión de Ajax4jsf funcionaría con qué versión de RichFaces.

El 12 de febrero de 2016, el desarrollador de RichFaces, Michal Petrov, anunció el fin del ciclo de vida de RichFaces [ 3 ] para junio de 2016.

Estructura

El framework se implementa como una biblioteca de componentes que añade funcionalidad Ajax a las páginas existentes, de modo que el desarrollador no necesita escribir código JavaScript ni reemplazar componentes existentes con nuevos widgets Ajax. RichFaces permite la compatibilidad con Ajax a nivel de página, en lugar de la compatibilidad tradicional a nivel de componente. Por lo tanto, el desarrollador puede definir el evento en la página que invoca una solicitud Ajax y las áreas de la página que deben sincronizarse con el árbol de componentes JSF después de que la solicitud Ajax modifique los datos en el servidor según los eventos que se activen en el cliente.

RichFaces permite definir (mediante etiquetas JSF) diferentes partes de una página JSF que se desean actualizar con una solicitud Ajax, y ofrece varias opciones para enviar solicitudes Ajax al servidor. Además, la página JSF no se modifica respecto a una página JSF "normal" y no es necesario escribir código JavaScript manualmente. Al controlar todo desde el servidor, prácticamente no se necesita JavaScript y el estado de la página se puede mantener fácilmente en el servidor.

Arquitectura RichFaces

La arquitectura de RichFaces consta de un filtro Ajax, componentes de acción Ajax, contenedores Ajax y un motor JavaScript.

Filtro Ajax : para aprovechar al máximo RichFaces, el desarrollador debe registrar un filtro en el archivo web.xml de la aplicación. Este filtro reconoce varios tipos de solicitudes.
Los componentes de acción Ajax , como AjaxCommandButton, AjaxCommandLink, AjaxPoll y AjaxSupport, y otros componentes de acción, se pueden utilizar para enviar solicitudes Ajax desde el lado del cliente.
Contenedores de Ajax : AjaxContainer es una interfaz que describe un área en una página JSF que debe decodificarse durante una solicitud Ajax. AjaxViewRoot y AjaxRegion son implementaciones de esta interfaz.
Motor JavaScript : el motor JavaScript de RichFaces se ejecuta en el lado del cliente. Actualiza diferentes áreas de una página JSF según la información de la respuesta Ajax. El motor JavaScript proporciona una API, por lo que los desarrolladores no necesitan crear su propia funcionalidad JavaScript.

Despellejabilidad

La personalización de estilos es una característica especial de RichFaces que se utiliza para definir estilos de interfaz comunes. Esta característica se basa en la tecnología XCSS, que proporciona flexibilidad y dinamismo. RichFaces ofrece un conjunto de estilos predefinidos:

  • POR DEFECTO
  • plano
  • Ciudad esmeralda
  • cielo azul
  • vino
  • Cereza japonesa
  • rubí
  • clásico
  • Marina profunda
  • Laguna (nueva - RichFaces 3.2.1)
  • GlassX (nuevo - RichFaces 3.2.2)
  • DarkX (nuevo - RichFaces 3.2.2)

Las propiedades de la apariencia, como generalBackgroundColor, generalLinkColor, headerFamilyFont, etc., se almacenan en el archivo skinname.skin.properties. Cada componente tiene un archivo XCSS (un formato de archivo especial que combina la flexibilidad de XML y CSS) que asigna los selectores CSS a las propiedades de la apariencia. Además, RichFaces ofrece personalización de apariencia para controles HTML estándar. Puede crear una apariencia personalizada mediante la función Plug-n-Skin, un arquetipo de Maven que crea la estructura básica para una nueva apariencia.

Página JSF sencilla con componente de calendario RichFaces.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns= "http://www.w3.org/1999" xmlns:ui= "http://java.sun.com/jsf/facelets" xmlns:h= "http://java.sun.com/jsf/html" xmlns:f= "http://java.sun.com/jsf/core" xmlns:a4j= "http://richfaces.org/a4j" xmlns:rich= "http://richfaces.org/rich" > <ui:composition template= "/templates/component-sample.xhtml" > <a4j:outputPanel id= "calendar" layout= "block" > <rich:calendar value= "#{calendarBean.selectedDate}" locale= "#{calendarBean.locale}" popup= "#{calendarBean.popup}" showApplyButton= "#{calendarBean.showApply}" cellWidth= "24px" cellHeight= "22px" style= "width:200px" /> </a4j:outputPanel> </ui:composition> </html>

Este es el resultado del código presentado anteriormente.

Véase también

Referencias

  1. "Descargas estables - Comunidad JBoss" .
  2. Max Katz, Exadel (15 de agosto de 2008). "Ajax4jsf y RichFaces: perspectiva histórica" . Archivado del original el 2 de febrero de 2009.
  3. Michal Petrov (12 de febrero de 2016). "El futuro de RichFaces" .
  • Sitio web oficial
  • Presentación de RichFaces