Cargando...
Java Server Faces (JSF) es una tecnología emergente basada en una especificación, realizada por la empresa Sun, para un Web MVC framework basado en tecnología Java.
JSF tiene un alto nivel de abstracción que permite una mayor separación entre el diseño y el código permitiendo dividir realmente el desarrollo de una aplicación en diseño y desarrollo, donde los diseñadores aunque todavía necesitan tener un conceptos básicos de la tecnología no tienen que preocuparse por la lógica de la aplicación. Por ejemplo, cuando se construye una aplicación Web no es estrictamente necesario conocer cual es la diferencia entre un POST y un GET.
JSF incluye un conjunto central de componentes y herramientas que facilitan la creación de “widgets” estándar como “text boxes” o “radio buttons”. La codificación exacta de estos componentes (usados normalmente dentro de JSP como tags, aunque pueden ser usadas otras tecnologías como XUL) es definida por la cada implementación de JSF. La comunicación entre los componentes, la entrada de datos y la validación forma parte de la tecnología, es decir, no hay que implementar nada de esto como ocurre en otras tecnologías (command-oriented frameworks) a excepción de Tapestry. La visualización de los mensaje de validación y errores de conversión también están estandarizados incluso soportan internacionalización (i18n).
La vinculación con datos (data binding) en JSF puede ser realizada mediante un JSF-managed bean (también llamado fichero code-behind, similar al concepto ASP.Net). Una pequeña modificación del lenguaje de expresiones JSTL es usada, en lugar de usar ${empresa.nombre} se codifica con #{empresa.nombre} donde empresa tiene que ser un JSF-managed bean y nombre una de sus propiedades.
La implementación de JSF mas conocida es posiblemente MyFaces ya que fue creada como parte del proceso de especificación como referencia de implementación.
Existe una implementación estándar de Sun tiene el mismo nombre que la tecnología lo que puede llevar a confusión (es decir, se llama también Java Server Faces). También existen otras implementaciones como Smile, Shale, ICEFaces (con Ajax), ADF Faces (de Oracle), etc…
Actualmente, JSF comparada con otras tecnologías MVC (Spring MVC, Struts, WebWork, Tapestry,…) está mas orientada a componetes y eventos (component-oriented / event-driven aproach), además de tener un mayor nivel de abstracción. JSF es la tecnología mas reciente, pero la mas avanzada y con un futuro mas prometedor. En contrapartida, debido al alto nivel de abstracción que pretende alcanzar, puede resultar menos flexible y es frecuente escuchar el argumento de que si tu prioridad es el rendimiento no deberías usar JSF como MVC framework.
Imprime este post
5 comentarios sobre Tecnología Java Server Faces
Esta bien el post. Tecnologias actuales… Veo que hay varias implementaciones para una misma tecnologia.
Gracias por la info
¿Has usado JSF en algún proyecto? ¿Lo has usado en algún proyecto online? ¿Sabes la basura que mete en el código y el control que pierdes?
Saludos!
¿Te refieres al estándar de JSF, a una implementación de JSF o a un IDE que genera de forma automática código JSF?
Ese control que pierdes, ¿es realmente necesario?… ¿seguro que pierdes control o es que tienes que abordar los problemas de forma diferente?
El paso a JSF ha sido algo sencillo en mi caso, pero ya había pasado por esa sensación de pérdida de control con la tecnología .Net al pasar de ASP a ASP.Net. Sólo al principio tienes esa sensación, luego no puedes trabajar sin “ello”. Es mucho más natural y sencillo ver una página Web como un objeto al igual que sus componentes en lugar de tags de texto. El código es mucho mas limpio, separa totalmente diseño de código y como resultado todo el código es mucho mas reutilizable.
Armando, tienes que ver qué ventajas y qué inconvenientes te da. Por ejemplo, sobre el código que genera depende del juego de componentes y cómo se haya programado.
Sin embargo un programador que no sepa mucho puede hacer una interfaz gráfica con un editor pinchando y arrastrando componentes, como en netbeans: http://www.netbeans.org/products/visualweb/
En mi opinión JSF todavía tiene que mejorar mucho por temas de rendimiento, mejorar bugs, y un largo etc. Pero potencialmente es muy interesante. De hecho la comunidad ya se está empezando a mover http://www.theserverside.com/news/thread.tss?thread_id=44887
Salu2
[...] Nos hemos mudado, puedes encontrar los últimos comentarios y correcciones al post en: http://www.xperimentos.com [...]
Deja tu comentario sobre Tecnología Java Server Faces
*Nota: Sólo se tendrán en cuenta los comentarios correctamente redactados y que estén relacionados con el tema de la entrada.RSS a los comentarios de esta entrada · TrackBack URI