Alfonso Marín López

Blog personal de un programador

Velocity, si te hubiera conocido antes

| 1 Comment

Llevo ya algún tiempo utilizándolo, aunque no tanto como me hubiera gustado. Todo empezó cuando salio una de las actualizaciones de GWT (una de las muchas), pero esta fue cuando ya se cambio el paradigma, y se comenzó a fomentar el uso del MVP (Model, View, Presenter), no se ahora mismo que versión fue.

La cuestión es que supuso un cambio importante y serio en la estructura. En este punto yo podría elegir entre dos caminos, seguir con mi estructura basada en mi propio desarrollo o interpretación del MVC, o intentar adaptarme a la nueva arquitectura. Después de sopesarlo un poco (no mucho, que no hay mas tiempo), me decanté por actualizar.

En esta página tenéis mas información sobre esta arquitectura, que espero sea motivo de otro post cuando tenga tiempo.

Los motivos fueron varios:

  • Siempre es bueno seguir las indicaciones de Google.
  • Sin lugar a dudas una nueva arquitectura adaptada a este patrón es algo que debía ser muy bueno.
  • Fácil adaptación. Debido a mi arquitectura casera (por llamarla de alguna manera, no porque sea mala), la adaptación era muy sencilla, ya que había sido previsor y lo tenia todo muy bien separado y estructurado, así que no debería ser un gran trabajo.

Y así fue, no era complicado y era prácticamente cambiar cuatro cosas y crear cuatro clases más. Pero el problema era que lo tenia que hacer en TODAS la clases de mis fuentes. Esto ya suponía mucho, pero mucho, trabajo.  Pero que me reportaría muchos beneficios a la larga.

Lo se, que tiene que ver todo esto con Velocity, pues ahora llego. Como usuario de Andromda, ya conocía los usos que se le podían dar a Velocity como generador de código, ademas de plantillas web. Así que me puse a diseñar mi propio generador de código para GWT con velocity. Aprovechando el cambio de arquitectura y con unas pocas clases mas, conseguí cambiar la arquitectura entera en pocos días. Ademas de que a partir de entonces cada vez que tenia que desarrollar una nueva funcionalidad vuelvo a utilizar mis plantillas que tanto trabajo me adelantan.

De acuerdo que podrian mejorarse, pero como siempre, hay poco tiempo y hay que ser productivos. Eso si, sin dejar de lado la calidad de los trabajos.

Quizás no fuera esta la principal función de Velocity, pero a mi me resulta, y desde entonces la utilizo para muchas mas tareas como mailing, generación de configuraciones, incluso de parte del build de las aplicaciones.

Así que os animo a echarle un ojo, que seguro que le sacáis partido, porque difícil, lo que se dice difícil no es nada.