JavaServer Faces
Apariencia
JavaServer Faces | ||
---|---|---|
![]() | ||
Información general | ||
Desarrollador | Sun Microsystems | |
Información técnica | ||
Programado en | Java | |
Plataformas admitidas | Java EE | |
Versiones | ||
Última versión estable | 2.0 (18 de agosto de 2009 (15 años, 9 meses y 25 días)) | |
Enlaces | ||
JavaServer Faces (JSF) es una tecnología y framework para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE. JSF usa JavaServer Pages (JSP) como la tecnología que permite hacer el despliegue de las páginas, pero también se puede acomodar a otras tecnologías como XUL.
JSF incluye:
- Un conjunto de APIs para representar componentes de una interfaz de usuario y administrar su estado, manejar eventos, validar entrada, definir un esquema de navegación de las páginas y dar soporte para internacionalización y accesibilidad.
- Un conjunto por defecto de componentes para la interfaz de usuario.
- Dos bibliotecas de etiquetas personalizadas para JavaServer Pages que permiten expresar una interfaz JavaServer Faces dentro de una página JSP.
- Un modelo de eventos en el lado del servidor.
- Administración de estados.
- Beans administrados.
La especificación de JSF fue desarrollada por la Java Community Process como JSR 127, que definía JSF 1.0 y 1.1, JSR 252 que define JSF 1.2 y JSR 314 para JSF 2.0
Objetivos
Estos objetivos de diseño representan el foco de desarrollo de JSF:
- Definir un conjunto simple de clases base de Java para componentes de la interfaz de usuario, estado de los componentes y eventos de entrada. Estas clases tratarán los aspectos del ciclo de vida de la interfaz de usuario, controlando el estado de un componente durante el ciclo de vida de su página.
- Proporcionar un conjunto de componentes para la interfaz de usuario, incluyendo los elementos estándares de HTML para representar un formulario. Estos componentes se obtendrán de un conjunto básico de clases base que se pueden utilizar para definir componentes nuevos.
- Proporcionar un modelo de JavaBeans para enviar eventos desde los controles de la interfaz de usuario del lado del cliente a la aplicación del servidor.
- Definir APIs para la validación de entrada, incluyendo soporte para la validación en el lado del cliente.
- Especificar un modelo para la internacionalización y localización de la interfaz de usuario.
- Automatizar la generación de salidas apropiadas para el objetivo del cliente, teniendo en cuenta todos los datos de configuración disponibles del cliente, como versión del navegador...
Versiones
- JSF 1.0 (11-03-2004) - lanzamiento inicial de las especificaciones de JSF.
- JSF 1.1 (27-05-2004) - lanzamiento que solucionaba errores. Sin cambios en las especificaciones ni en el renderkit de HTML.
- JSF 1.2 (11-05-2006) - lanzamiento con mejoras y corrección de errores.
- JSF 2.0 (12-08-2009) - lanzamiento con mejoras de funcionalidad y performance y facilidad de uso.
- JSF 2.1 (22-10-2010) - versión actual. Lanzamiento de mantenimiento, con minimos cambios.
Implementaciones
Las principales implementaciones de JSF son:
- JSF Reference Implementation de Sun Microsystems.
- MyFaces proyecto de Apache Software Foundation.
Extensiones
Algunas extensiones a JSF son:
- Rich Faces Agrega componentes visuales y soporte para AJAX.
- ICEfaces Contiene diversos componentes para interfaces de usuarios más enriquecidas, tales como editores de texto enriquecidos, reproductores de multimedia, entre otros.
- jQuery4jsf Contiene diversos componentes sobre la base de uno de los más populares framework javascript jQuery.
- PrimeFaces Es una librería muy liviana, todas las decisiones hechas son basas en mantener a PrimeFaces lo mas liviano posible. PrimeFaces es una librería muy simple que no necesita dependencias y configuraciones.
- OpenFaces Librería open source que contiene diferentes componentes JSF, un Framework Ajax y un Framework de validación por parte del cliente.