Herramientas para aumentar la productividad en proyectos JAVA
¿Qué rimbombante el título no? Es que me falta algún que otro curso de comunicación escrita :).
Quiero compartir con vosotros dos experiencias que estoy teniendo al respecto de este tema. La verdad que en muchos casos lo contado no es requerido en abiquo pero quise profundizar en el tema para no quedarme atrás en tecnologías (O una excusa más para frikear).
Creo que el mundo de la consultoría tecnológica te enseña (Entre otras cosas) que aunque a veces sea una lástima, el valor tecnológico de la solución está muy por debajo a la solución funcional que aporta. He hecho tanto truños en la que nos han felicitado como auténtica cirugía fina que se guardó en el cajón simplemente porque los usuarios han dudado de lo que la aplicación les ayudaba.
Es por ello que creo (En contra de lo que piensan otros) que herramientas que ayudan a focalizar e introducir metodologías ágiles en el desarrollo son siempre bienvenidas. Desde un simple eclipse plagado de plugins hasta los 2 proyectos que os presento a continuación, que te permiten en base a scripts montar el esqueleto de tu producto y poder ver rápidamente los primeros resultados. Aquí les presento:
- Play: Me lo presento Albert Puig (de los viejos de abiquo) y realmente es un proyecto que te permite tener cosas presentables en un abrir y cerrar de ojos. Basado en el stack de Java permite crear arquitecturas RESTfull sin tener gran conocimiento al respecto. Una documentación decente y varios tutoriales permiten introducirte rápidamente con el modelo de trabajo. Me gusta su modelo hot deploy para desarrollo rápido y como se basa en estándares Java (JSP, JPA, etc.), teniendo incluidas las herramientas que permiten un desarrollo TDD. Lo que no me acaba de convencer es la gestión de los flujos de navegación, creo que para proyectos grandes puede dificultar su mantenimiento.
- Spring ROO: El nuevo juguete que nos presentaron los señores de Spring Source y creo que no hace falta contar que es una tool parecida a Play pero basada en stack Java del Framework Spring. Quizás no es tan sencillo como Play pero realmente te permite montar aplicaciones fácilmente con Spring. La documentación está en constante mejora (Desde la primera vez que la vi) y aún quedan muchos puntos de usabilidad (Como que mientras vas creando las entidades de mapeo de la BBDD si te equivocas no puedes volver atrás, debes editarlo a mano en Eclipse). Pero sus capacidades de integración con terceras tecnologías son realmente prometedores (Aunque aún hay quejas). Así que este también tocará estudiarlo en profundidad. Albert muy amablemente me envió un post en el que lo ponen de vuelta y media (Pero por suerte desarrollan rápido y bien, así que las nuevas versiones intentan solucionar ese gap)
Y nada, ahora estoy en fase exploración, lectura de documentación y jugar con el terminal y eclipse. Espero contaros más al respecto. ¿Alguien los ha probado? ¿En producción? ¿Algo a comentar?
AVISO PARA NAVEGANTES (o ingenieros): El uso de estas tools no debe eximir del conocimiento en profundidad de las tecnologías que se usan. Sin ese conocimiento profundo no se puede sacar el máximo partido a tu aplicación (En parámetros como escalabilidad, robustez, performance, etc.). Haz que estas herramientas mejoren tu día a día o tu velocidad de respuesta ante un cliente pero que nunca nublen tu afán de conocimiento.
Deja una respuesta