El problema de ir a la moda….

Posted by jmacias · 2 Comments 

Ya sabía que mi artículo sobre aplicaciones de Web vs aplicaciones tradicionales no iba a ser bien acogido, por que, mientras casi todo el mundo mira hacía aplicaciones web, reflexiono y justifico el seguir haciendo aplicaciones tradicionales.

Antes de nada, está claro que si vas a hacer un portal, un foro, o una red social tienes que utilizar tecnología web, pero si vas a hacer una aplicación de gestión, el photoshop, o una herramienta para grabar DVDs, las aplicaciones de escritorio, por ahora, son mejores.

En el año 2000, hacíamos aplicaciones web en ASP, desarrollé un framework, que permitía hacer aplicaciones en un tiempo casi igual que aplicaciones tradicionales, pero claro, con la limitaciones que teníamos entonces con los browsers, no obstante generamos algo similar a AJAX, y pudimos añadir bastante interación entre browser y servidor.

Por entonces, la empresa en el que trabajaba, encargo a una gran consultora que estudiara cual era el futuro de la tecnología web, y esa gran consultora dicidió que había que migrar a Java. Así que la empresa, empezó a mirar todo a JSP, por entonces dejé la empresa, no me apetecía abandonar mi know-how en ASP y tener que empezar desde el principio.

En el 2005 volví a la empresa, a incorporarme en uno de esos proyectos Java, durante esos años, habían migrado muchas aplicaciones a JSP, despúes las habían vuelto a migrar a Servlets, después a Webmacro y ahora volvían a cambiar para utilizar Struts.

En el 2007, nos pidieron que analizaramos las distintas tecnologías disponibles, por que se proponían a dar el gran paso y migrar una aplicación de más de 1000 pantallas, con un coste de unos 10 millones de euros. Durante el análisis, se propuso esperar a la nueva versión de Struts, a utilizar JSF, incluso volver a ASP.

A mi, me pareción una aberración ir a la “moda”, supongo que a día de hoy se están planteando utilizar AJAX, o incluso Ruby. Cuando hablamos de algo “tan grande” no podemos estar dependiendo de tecnologías que no están consolidadas.

Si nos fijamos como lo hacen los grandes como Oracle, SAP, etc… ellos tienen su propia tecnología, no dependen de la moda, en lugar de dedicar tiempo a programar en web, con struts, o con JSF, lo que hacen es definir su interfaz en un formato propio, y luego lo presentan en Web o en aplicación tradicional, o como quieran.

En software libre existe algo parecido, es llama XUL, lo utiliza por ejemplo Google en su software AdWords Editor.

Con la especificación de interfaz, independiente de la tecnología, nos aseguramos una evolución constante de nuestro software. No tenemos ni idea, de que estará de moda dentro de 3 años, lo mismo, AJAX desaparece……

Existen muchas aplicaciones OpenSource que utilizan tecnologías similares como OpenBrave, OpenErp, etc..

Así, que con este conocimiento, al empezar un proyecto, tengo varias alternativas:

  • Desarrollo en Web, sabiendo que estar a la moda tiene un coste extremadamente alto.
  • Desarrollo en XUL o tecnología propia, que tiene un coste alto inicial en desarrollo de frameworks, herramientas, etc…
  • Desarrollo en Escritorio, que tiene un coste muy bajo, que la tecnología ha madurado ya, y que no se esperan cambios radicales en los próximos años.

He optado por hacer aplicaciones de Escritorio, por tiempo y coste, en otra situación hubiera elegido XUL, pero nunca un desarrollo web.