Tapiz Apache


Apache Tapestry es un marco de aplicación web Java orientado a componentes de código abierto conceptualmente similar a JavaServer Faces y Apache Wicket . [2] Tapiz fue creado por Howard Lewis Ship, [ ¿cuándo? ] y fue adoptado por Apache Software Foundation como un proyecto de alto nivel en 2006. [3]

Tapestry enfatiza la simplicidad, la facilidad de uso y la productividad del desarrollador. Se adhiere al paradigma Convención sobre configuración , eliminando casi toda la configuración XML. [4] Tapestry utiliza un enfoque modular para el desarrollo web al tener un vínculo fuerte entre cada componente de la interfaz de usuario (objeto) en la página web y su clase Java correspondiente . Esta arquitectura basada en componentes toma prestadas muchas ideas de WebObjects . [5]

Recarga de clases en vivo
Tapestry supervisa el sistema de archivos en busca de cambios en las clases de páginas de Java, las clases de componentes, las clases de implementación de servicios, las plantillas HTML y los archivos de propiedades de los componentes, e intercambia en caliente los cambios en la aplicación en ejecución sin necesidad de reiniciar. Esto proporciona un ciclo de retroalimentación de visualización de guardado de código muy corto que se afirma que mejora en gran medida la productividad del desarrollador. [6]
Basado en componentes
Las páginas se pueden construir con pequeños componentes encajables, cada uno con una plantilla y una clase de componente. Los componentes personalizados son supuestamente triviales de construir. [7]
Convención sobre configuración
Tapestry utiliza convenciones de nomenclatura y anotaciones, en lugar de XML, para configurar la aplicación. [8]
Uso adicional de HTTPSession
Al hacer un uso mínimo de HTTPSession, Tapestry está diseñado para ser altamente eficiente en un entorno agrupado y replicado por sesión. [9]
Publicar / Redirigir / Obtener
La mayoría de los envíos de formularios siguen el patrón Publicar / Redirigir / Obtener (PRG), que reduce los accidentes de envío de formularios múltiples y hace que las URL sean más amigables y más fáciles de marcar, además de permitir que los botones Atrás y Actualizar del navegador funcionen normalmente. [10]
Inversión de control (IoC)
Tapestry se basa en una capa ligera de Inversión de control con similitudes con Google Guice , pero diseñada para hacer que casi todos los aspectos del comportamiento de Tapestry sean configurables y reemplazables. [11]

Una aplicación Tapestry mínima con plantilla necesita solo tres archivos:

HelloWorld.tml
La plantilla HTML (X) para la página / helloworld. Las plantillas de tapiz pueden contener cualquier marcado HTML (X) bien formado.
  xmlns = "http://www.w3.org/1999/xhtml"  xmlns: t = "http://tapestry.apache.org/schema/tapestry_5_3.xsd" >   < p> Hola, $ {username}