PDF de programación - PlugIn Tapestry: Desarrollo de aplicaciones web con Apache Tapestry

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

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

Publicado el 14 de Junio del 2018
268 visualizaciones desde el 14 de Junio del 2018
4,1 MB
289 paginas
Creado hace 5a (01/09/2014)
Desarrollo de aplicaciones y páginas web con Apache TapestryPlugIn TapestryAutor@picodotdevhttp://picodotdev.github.io/blog-bitix/2014 1.3/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

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 varias entradas tratando
en cada una de ellas sobre 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 todas las entradas 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€
impuestos incluidos? La razón es simple, porque quiero. Si cobrase algo por él probablemente la audiencia

3

que tuviese no sería muy amplia y de todos modos no saldría de pobre, siendo gratis espero que unos cuantos
desarrolladores al menos lo vean por encima simplemente por cultura general y lo comparen con lo que usen
para programar ahora, ya sea Grails, Play!, Django, Symfony, Silex, Ruby on Rails, .NET MVC u otros similares.
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 preten-
de, 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 cu-
riosidad. La documentación oficial del proyecto es amplia, buena, completa y suficiente (algunas buenas partes
de este libro son poco más que una traducción) para aprender desde cero pero además de la documentación pu-
ramente 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
componentes 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 indicaciones 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 útima 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@?

Huevo de páscua

Antes de empezar, a modo de juego y para incentivar la lectura del libro en la versión PDF he incluido un huevo
de páscua, el primero que lo encuentre recibirá como premio la siguiente pegatina.

4

Como pista no puedo decir más que como buen huevo de páscua no está a simple vista pero buscando en el lugar
adecuado en el que en parte se hace referencia a este tipo de invisibilidad no es tán complicado encontrarlo.
¡Suerte!

5

6

Indice

1.

Introducción

13

1.1. Principios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.2. Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.3. Un poco de historia

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.4. Opciones alternativas

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.5. Arquitectura de aplicaciones web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.

Inicio rápido

31

2.1. Instalación JDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2. Inicio rápido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.3. Entorno de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.4. Integración con el servidor de aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.5. Servidor de aplicaciones externo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.6. Código fuente de los ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3. Páginas y componentes

43

3.1. Clase del componente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2. Plantillas

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.2.1. Content Type y markup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.3. Parámetros del los componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

7

INDICE

INDICE

3.3.1. Bindings de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.4. La anotación @Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3.4.1. Parámetros requeridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3.4.2. Parámetros opcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3.4.3. Parámetros informales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.4.4. Conversiones de tipo en parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.5. La anotación @Cached . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3.6. Conversiones de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.7. Renderizado de los componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3.7.1. Fases de renderizado
  • Links de descarga
http://lwp-l.com/pdf11865

Comentarios de: PlugIn Tapestry: Desarrollo de aplicaciones web con Apache Tapestry (0)


No hay comentarios
 

Comentar...

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