PDF de programación - PlugIn Tapestry: Desarrollo de aplicaciones y páginas web con Apache Tapestry

Imágen de pdf PlugIn Tapestry: Desarrollo de aplicaciones y páginas web con Apache Tapestry

PlugIn Tapestry: Desarrollo de aplicaciones y páginas web con Apache Tapestrygráfica de visualizaciones

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 15 de Enero del 2017
1.153 visualizaciones desde el 15 de Enero del 2017
3,5 MB
311 paginas
Creado hace 3a (19/02/2016)
Desarrollo de aplicaciones y páginas web con Apache TapestryPlugIn TapestryAutor@picodotdevhttp s ://picodotdev.github.io/blog-bitix/2016 1.4.1/5.4 A tod@s l@s programador@s que en su trabajono pueden usar el framework, librería o lenguaje que quisieran.Y a las que se divierten programando y aprendiendohasta altas horas de la madrugada.Non gogoa, han zangoaHecho con un esfuerzo en tiempo considerablecon una buena cantidad de software librey más ilusión en una región llamada Euskadi. PlugIn Tapestry: Desarrollo de aplicaciones y páginas web con

Apache Tapestry

@picodotdev

2014 - 2016

2

Prefacio

Empecé El blog de pico.dev y unos años más tarde Blog Bitix con el objetivo de poder aprender y compartir el
conocimiento de muchas cosas que me interesaban desde la programación y el software libre hasta análisis de los
productos tecnológicos que caen en mis manos. Las del ámbito de la programación creo que usándolas pueden
resolver en muchos casos los problemas típicos de las aplicaciones web y que encuentro en el día a día en mi
trabajo como desarrollador. Sin embargo, por distintas circunstancias ya sean propias del cliente, la empresa o
las personas es habitual que solo me sirvan meramente como satisfacción de adquirir conocimientos. Hasta el
día de hoy una de ellas es el tema del que trata este libro, Apache Tapestry.

Para escribir en el blog solo dependo de mí y de ninguna otra circunstancia salvo mi tiempo personal, es com-
pletamente mío con lo que puedo hacer lo que quiera con él y no tengo ninguna limitación para escribir y usar
cualquier herramienta, aunque en un principio solo sea para hacer un ejemplo muy sencillo, en el momento que
llegue la oportunidad quizá me sirva para aplicarlo a un proyecto real.

Pasados ya unos pocos años desde que empecé el blog allá por el 2010 he escrito varios artículos tratando en
cada una de ellos diferentes temas relacionados con Apache Tapestry y que toda aplicación web debe realizar
independientemente del lenguaje o framework que se use. Con el blog me divierto mucho pero no se si es la
forma más efectiva para difundir todas las bondades que ya conozco de este framework y que a medida voy
conociéndolo más sigo descubriendo. Ya llevaba pensándolo bastante tiempo y ha llegado un punto en que
juntando todos los artículos que he escrito en el blog completándolas con alguna cosa más podría formar un
libro y el resultado es lo que tienes en la pantalla del dispositivo que uses para leerlo.

¿Es realmente necesario que escribiese este libro? Pues sí y no. No, porque ya hay otros muy buenos libros
sobre Tapestry algunos escritos por los commiters del framework, como Tapestry 5 - Rapid web application
development in Java, quizá mejor y de forma más completa que lo explicado en este y que alguien con interés
podría adquirir sin ningún problema. Y sí, porque escribiendo uno en español hay más posibilidades de hacérselo
llegar a mi entorno más o menos cercano.

Mi objetivo con este libro es difundir la palabra para que otra gente disfrute con este framework tanto como
lo hago yo cuando programo con él y finalmente aumentar aunque sea un poco las posibilidades de que pueda
dedicar mi jornada laboral completa usándolo (guiño, guiño). Tapestry no tiene el «hype» de otros frameworks,
ni lleva la etiqueta ágil (aunque podría) que parece que ahora si no se le pone a algo no «mola» y no merece
consideración pero tiene muchas características desde casi sus inicios en que fue publicado en el 2002 con la
versión 2 que ya desearían para sí muchos otros aún en la actualidad.

Como habrás notado este libro no te ha costado ni un céntimo, ¿por qué lo distribuyo al precio de 0,00€ im-
puestos incluidos? La razón es simple, porque quiero. Si cobrase algo por él probablemente la audiencia que

3

tuviese no sería muy amplia y de todos modos no saldría de pobre, siendo gratis espero que unos cuantos desa-
rrolladores al menos lo vean por encima simplemente por cultura general y lo comparen con lo que usen para
programar ahora, ya sea Struts, Grails, Play!, Django, Symfony, Silex, Ruby on Rails, .NET MVC u otros simila-
res. Si de entre esos que lo leen hay unos cuantos que se animan a probarlo ya me sentiría satisfecho, si además
alguno lo usase para un proyecto real con éxito me haría muy feliz.

Gran parte de este libro está basado en lo que he aprendido desde el 2004 mediante su documentación oficial
y usándolo principalmente de forma autodidacta. No constituye una guía completa y exhaustiva, ni lo pretende,
simplemente es un manual suficientemente amplio para transmitir al lector los conceptos más importantes y que
una vez aprendidos sea capaz de aprender el resto profundizando por sí mismo si consigo despertar su curiosidad.
La documentación oficial del proyecto es amplia, buena, completa y suficiente para aprender desde cero (algunas
buenas partes de este libro son poco más que una traducción) pero además de la documentación puramente
técnica quiero aportar la experiencia y algunas buenas prácticas que he obtenido como usuario durante estos
años y desde mi comienzo como programador no solo de este framework.

Lo que viene a continuación

En los siguientes capítulos encontrarás una explicación detallada de las características del framework y la for-
ma de resolver una gran parte de los aspectos con los que tienen que tratar las aplicaciones o páginas web: el
entorno de desarrollo, generar el html con plantillas, la lógica de presentación, la internacionalización y locali-
zación, la persistencia de la capa de presentación y persistencia en la base de datos, el contenedor de inversión
de control, la seguridad, peticiones ajax y datos en json, enviar formularios, recibir archivos y devolverlos, como
crear layouts para dar un aspecto común a las páginas sin duplicar código, reutilización de código con compo-
nentes y con librerías de componentes, pruebas unitarias, de integración y funcionales, assets (estilos, imágenes,
javascript) y algunas cosas más adicionales en las que no entraré en muchos detalles pero que daré las indicacio-
nes de como realizarlas como el envió de correos, generación de informes, gráficas, una API REST y analizadores
estáticos de código que pueden ser necesarios en algunos casos.

Teniendo experiencia y habiendo trabajado en proyectos reales con JSP/Servlets, Struts, JSF, Grails y Apache
Tapestry me quedo con una diferencia significativa con la última opción como puedes suponer si he dedicado
una gran cantidad de tiempo personal a escribir este libro y el que dedico en mi blog. Trataré de exponer en las
siguientes páginas muchos de los motivos que Tapestry me da para ello y que quizá tú también consideres.

¡Empieza la diversión! ¿estás preparad@?

4

Indice

1.

Introducción

1.1. Principios .

.

.

. .

1.2. Características . .

.

.

.

.

1.3. Un poco de historia .

.

.

.

1.4. Opciones alternativas .

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

.

.

.

.

.

.

.

.

.

.

.

.

1.5. Arquitectura de aplicaciones web .

2.

Inicio rápido

2.1.

Instalación JDK .

2.2.

Inicio rápido .

. .

.

.

.

.

.

.

2.3. Entorno de desarrollo .

.

.

.

.

.

.

. .

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2.4.

Integración con el servidor de aplicaciones .

13

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

. .

. .

. .

. .

. . . 13

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

. .

. .

. .

. . . 17

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

. .

. . . 21

.

.

. .

. .

. .

. . 23

.

.

.

.

.

.

. . 24

31

.

.

. .

. .

. .

. .

. .

. . 31

. .

. .

. .

. .

. .

. .

. . 31

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

. .

. . 34

.

.

.

.

.

.

. . 35

. .

. .

. .

. . . 36

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. . 43

. . 43

. . 44

. . 45

. . 47

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5

.

.

.

.

.

2.4.1. Spring Boot

.

.

.

.

. .

.

.

.

.

.

.

.

2.4.2. Spring Boot generando un jar .

. .

2.4.3. Spring Boot generando un war

. .

2.4.4. Servidor de aplicaciones externo .

2.5. Debugging .

.

. .

.

.

.

.

.

.

.

.

2.6. Código fuente de los ejemplos .

.

.

.

.

.

.

.

.

.

.

.

. .

INDICE

3. Páginas y componentes

3.1. Clase del componente .

3.2. Plantillas .

.

.

. .

.

.

.

.

.

.

. .

.

.

.

.

.

.

3.2.1. Content Type y markup .

.

.

.

3.3. Parámetros del los componentes .

3.3.1. Bindings de parámetros

3.4. La anotación @Parameter

. .

.

3.4.1. Parámetros requeridos .

3.4.2. Parámetros opcionales .

3.4.3. Parámetros informales .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

. .

.

.

.

.

.

. .

. .

. .

.

.

.

.

.

.

.

.

.

3.4.4. Conversiones de tipo en parámetros .

3.5. La anotación @Cached .

3.6. Conversiones de tipos .

.

.

.

. .

. .

.

.

.

.

.

.

3.7. Renderizado de los componentes .

3.7.1. Fases de renderizado .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

. .

3.7.2. Conflictos y ordenes de métodos .

3.8. Navegación entre páginas

. .
  • Links de descarga
http://lwp-l.com/pdf1906

Comentarios de: PlugIn Tapestry: Desarrollo de aplicaciones y páginas web con Apache Tapestry (1)

Imágen de perfil
5 de Junio del 2017
estrellaestrellaestrellaestrellaestrella
gracias
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad