Desarrollador ágil JAVA. ¿Oxímoron?

Yo me considero un desarrollador ágil JAVA, o mejor dicho yo me considero un desarrollador ágil Tapestry. Pero he de reconocer que si bien la velocidad de desarrollo con Trails y/o Tapestry está entre las mejores del (sub)mundo JAVA, no sirve ni siquiera como punto de referencia cuando se la compara con la de otros lenguajes y frameworks.
Uno de los principales problemas del desarrollo en JAVA es la agilidad y productividad del programador. Realmente estamos lejos de imitar la agilidad con la que se puede desarrollar en lenguajes como Ruby o PHP, y si hablamos de frameworks web en particular, estamos lejísimos de frameworks como Rails o Akelos.

¿Por qué el desarrollo con Akelos o Rails es tanto más rápido/ágil que el desarrollo con cualquier framework web JAVA?
La clave es el Zero Turnaround Time (ZTT), que podría traducirse como: "Recarga sin demora" o "Recarga inmediata" o "Cero tiempo de recarga".
El ZTT permite que cualquier pequeño cambio en la aplicación se pueda ver inmediatamente en el navegador, simplemente alcanza con hacer "refresh" en el navegador y listo, "feedback inmediato".

El gran beneficio del feedback inmediato es que permite determinar muy rápidamente si los cambios en la aplicación son correctos o no, y ésta es la gran ventaja que hace que el "desarrollo ágil" vaya de la mano con ZTT.

Este es el punto de partida de una serie de posts donde compartiré mis trucos para agilizar mi proceso de desarrollo y para aproximarme (aunque sin alcanzarlo nunca) al ZTT.

¿A que framework web le deberías estar dedicando tu tiempo libre?

Uno de los desarrolladores de AppFuse (y escritor de un libro sobre AppFuse que está por publicarse) se pregunta que framework debería estar aprendiendo por las noches y se queja (aunque minimamente) de la cantidad de frameworks que ha tenido que aprender este año.

Entre los destinatarios de sus quejas estoy yo que intenté convencerle de que le preste un poco de atención a Trails. No lo logré :( pero las experiencias que hemos intercambiado han hecho que el intento valga la pena.

Como resultado de ese intercambio se creó una configuración de CAS usado como SSO que es compatible tanto con AppFuse como con Trails.

La versión para AppFuse se publicará en http://code.google.com/p/casidentity/
y la versión para Trails en http://code.google.com/p/amneris/

Continuando con el post de David y con el título de este post: Mi elección personal y recomendación es: Tapestry 5
Tapestry 5 va a ser la nueva revolución en el mundo Java, recuerden lo que les digo.

Por último David arenga a los programadores web Java a echarle un ojo a Rails y yo quiero aprovechar este post para hacer lo mismo.

MIREN RubyOnRails, préstenle atención, desarrollen algo, indaguen en las entrañas del framework (son una joya en cuanto a diseño y programacíon), les aseguro que como resultado de la exploración saldrán siendo mejores programadores (Java o cualquier otro lenguaje).

Conclusión:
Pregunta: ¿A qué framework web le deberías estar dedicando tu tiempo libre?
Mi respuesta: Tapestry 5 y/o Ruby on Rails