Supongamos que programo en una herramienta que aunque muy buena, descontinuada, obsoleta o de dudosa evolución como: Visual Basic, Fox Pro, Delphi, 4d, Informix, Transtools, Cobol, Rpg, o cualquier otra.
Como muchos de vosotros me preguntaría ¿Necesito cambiar de Plataforma?
Si pensase cerrar mi negocio o aguantar 4 o 5 años hasta mi jubilación, no habría problema, ni se me pasaría por la cabeza cambiar.
En caso contrarío, me plantearía el cambio y la decisión en dos fases.
Fase 1, Aprender una nueva plataforma, evaluar su rentabilidad y utilizarla para mis futuros proyectos y/o ampliaciones de los actuales.
Fase 2, Evaluar las conveniencia de migrar mi parque de instalaciones en función de los resultados y las urgencias de mi parque.
Si cambio, mi primera prioridad es que sea la última vez, por lo que primero haría una evaluación previa y cuidadosa de
- Las tendencias
- La realidad presente
- Las Alternativas del Mercado
Las tendencias
Navegando por la Web enseguida percibimos :
- Multiplataforma: Linux y Mac, cada día tienen más adeptos.
Pero no solo eso
- Multidispositivo: Los dispositivos móviles (pdas y teléfonos), cada vez son más importantes, tal y como están los tiempos es necesario que la programación para el desktop sea exactamente la misma que para el móvil.
- Assus EE, Aspire, Android y el anuncio de aplicaciones sobre Linux Ligeros. Chrome como un sistema operativo en combinación con los sistemas anteriormente citados. Si hacemos algo nuevo deberá ser compatible con todo esto. Teneis un buen post al respecto Chrome mirando mas alla.
Pero además
- Paas, Saas, Force, Sales Force , Amazon, etc parece que los grandes apuestan por el “Cloud Computing”.
- Llevamos mucho tiempo hablando de que una contabilidad o un CRM debe correr en la red igual que en local, pero hoy el software en la red ya está a la vuelta de la esquina y no podemos permitirnos el lujo de aprender algo nuevo que no lo contemple. Sage ya esta dando sus pasos
- El código abierto y su reutilización es algo que parece obvio. Ya no empieza a ser presentable invertir esfuerzos en soluciones ya realizadas, que no pueda reaprovechar código de otros. La fuerza del desarrollo en comunidad esta triunfando
Una vez visto esto lo lógico es que mi nueva plataforma tenga resueltos o contemplados todos estos aspectos.
La realidad presente
Todo lo anterior esta muy bien, pero en algunos casos, el motivo del cambio es por cosas mucho mas banales, como problemas de mantenimiento en mis clientes, instalan un software ajeno y rompen el mio, la base de datos crece y cada vez es mas lenta, no aguanta el aumento de transacciones, modificar aplicaciones viejas es muy costoso
En resumen, si cambio lo hare a un sistema que por lo menos:
- optimice los recursos. Olvidarme de problemas con los rendimientos por grandes que sean mis tablas.
- Sistemas fiables: esto lo aseguran todos pero los problemas con corrupciones de índices, problemas con incompatibilidad con dlls de otros productos, transaccionabilidad real, etc.
Y a eso sumarle la productividad que muchas herramientas RAD poseen en la actualidad y probablemente la nuestra no
- Posibilidades de refactoring, que cualquier modificación en la base de datos me actualice la totalidad de objetos donde son utilizadas.
- Disponga de un adecuado control de versiones y permita un adecuado trabajo en grupo
- Gestión de bloqueos automática , no tener que preocuparme de ellos al programar
- No preocuparme más que excepcionalmente de los roll back, transacciones, etc.
- En definitiva productividad.
Las alternativas en el mercado
¿Sería posible juntar todo esto, con una tecnología única y con una curva de aprendizaje rápida?
Esta dificil, y quizas lo mas dificil que compagine prefectamente presente y futuro
Es evidente que en este punto, casi todos estáis pensando que voy a intentar vender Velneo y V7 y no os equivocáis. Pero solo por un motivo, por que poniéndome en el pellejo de un desarrollador, mi experiencia con Velneo y conociendo lo que conozco de V7, a mi personalmente no me cabría la menor duda.
Pero veamos cómo por lo menos veo yo a los otros (mi opinión personal).
Si buscamos las posibilidades de programar y ejecutar en cualquier sitio, desde cualquier dispositivo, evidentemente la solución actual es Java.
Sin embargo cualquiera que utilice esta plataforma sabrá lo que es la “No productividad”.
Para que en un desarrollo intervengan 200 o 300 personas, con los posteriores problemas de coordinar los distintos módulos desarrollados por cada una de éstas, no hace falta indagar mucho.
Si deseamos mantener esas virtudes de Java y hacer algo rentable, deberemos recurrir a generadores, y entre ellos Genexus, para mí el mejor. Pero por mucho que nos genere, al final tenemos que tocar código en Java.
O irme a Oracle, con su Java Developer y toda su plataforma de productos, pero si a estas alturas no me he ido a Oracle no lo voy a hacer ahora.
Si buscamos herramientas buscando altas rentabilidades en la producción y costes de mantenimiento soportables, encontramos un muy buen producto como Windev. Lástima que este tan ligado a Windows como su propio nombre indica. Es sin duda una opción muy buena a corto plazo, pero siendo serios: ni multiplataforma nativa, ni multidispositivo y mucho menos enfocado al SaaS. Aunque eso sí, una plataforma completa para desarrolladores con un catálogo de herramientas claro, conciso y enfocado a Software empresarial, moderno y rentable.
Por otro lado siempre nos queda .net, pero en la práctica estamos rodeados de programadores que han migrado desde Visual Basic y no se puede decir que su grado de satisfacción haya sido muy elevado. Y lo más importante, me da que a Microsoft, yo como desarrollador le importo bien poco. El problema vuelve a ser la productividad, en concreto mi productividad
Después tenemos todos los productos de futuro que miran únicamente al SaaS como www.Force.com, www.Etelos.com, o las combinaciones Google App Engine y Phyton, Ruby on Rails y Heroku, etc
Es la informática que parece del futuro y hay cientos de productos, con bases de datos propias, sin ellas, unas sencillas enfocadas al usuario final, otras al programador, etc.
Pero para no aburriros os dejo este link
http://softwareyservicio.wordpress.com/2008/09/14/directorio-cloud-computing/
La lista sería interminable, pero en ninguno de los casos encontramos una plataforma clara y completa como las tradicionales que disponga de servidor de aplicaciones, base de datos, frameworks, etc.) para poder desplegar y ejecutar las aplicaciones”, y además con rendimientos óptimos, escalable, fiable y que ofrezcan privacidad.
Y lo que es más importante, que el software que genere para local sea el mismo que el orientado al futuro Cloud Computing. Una cosa es el presente y otra el futuro y que el mercado madure. La duda siempre existe como comentan en este articulo sobre el futuro del Paas.
Y mi herramienta debe ser totalmente transparente entre mis desarrollos de futuro y de presente.
Conclusión
Como vemos la cosa se va complicando cada vez un poquito más, un gran lío esta decisión
Realmente, la triste conclusión a la que llego es que parece que se hayan olvidado de la pequeña empresa de programación y sus necesidades. De que a nadie de los grandes le interesa ese nicho de mercado, es decir, facilitar la vida al programador de gestión o la tradicional empresa de desarrollo.
Es triste pero es así, darse cuenta que la productividad del mundo texto mermó con la aparición de los primeros entornos gráficos y volvió a mermar con la aparición de Internet y nuevamente con la aparición de la multiplataforma y ahora con el Paas.
Evidentemente por que aumentaron los requerimientos, pero no evolucionaron de la misma forma las herrramientas para su desarrollo.
Es triste ver como incluso los grandes en lugar de preocuparse por la productividad del desarrollador, se han dedicado a crear estándares en ERP, CRM para que los programadores de medio mundo los implanten.
Es muy triste, como me paso a mi en mi última visita a la consultora donde empecé a trabajar hace 20 años y ver que las mismas 25 personas que entonces trabajaban son las que hoy son sus directores, pero con la diferencia de que lo que hacían ellos mismos, hoy necesitan plantillas de 200 o 300 personas a su disposición para hacer lo mismo con quizas más posibilidades pero incluso funcionalmente peores que las anteriores en lo esencial
Es muy triste pero el panorama estaba mucho más claro hace 10 años, o eras de Visual Basic, de Delphi, de FileMaker , de Oracle, de Php hasta el presente que en la mayoria de casos tienes que ser de un monton de tecnologías diferentes.
Y lo tuyo realmente es hacer un Erp adaptado a tu cliente, entender su probelmatica y aportarle la solución
Algunos de vosotros cuando abandonasteis el mundo texto os pasasteis a Velneo, habéis estado los últimos 10 años programando con el mismo entorno, sin sobresaltos (Cliente Servidor, Web, Etc) aunque eso si , todo hay que decirlo un poco preocupados los últimos años por el parón de la 6.x y el retraso de las promesas hasta ahora incumplidas.
De lo contrario habrás estado a dos o tres tecnologías, pero también es verdad que con un conjunto de ellas podías hacer software y que había plataformas en las que con solo ella podías hacer cualquier desarrollo.
Pero ahora con el Paas, Saas, Web 3.0, “On the cloud”, todo se complica un poco más para el pequeño desarrollador y el no tan pequeño.
¿Por que no han evolucionado las herramientas de desarrollo buscando la productividad del programador?
Creo que esto no obedece a la acción de una mano oscura, sino simplemente al hecho de que el retorno económico de crear un Crm o un Erp, convertirlo en un estandar y convertir a los desarrolladores en implantadores es un negocio mucho mayor.
En Velneo siempre se ha pensado en el desarrollador como único cliente, quizás no sea lo más rentable, pero en esta empresa casi todos venimos de lo mismo y ese es nuestro reto. Técnicamente no me cabe duda de que en breve no merecerá la pena escribir una sola línea en Java (para realizar software de gestión o empresarial) frente a programar en Velneo, pero para triunfar no sólo hace falta un producto, ni siquiera el mejor, hace falta crear una verdadera comunidad y es donde a partir de ahora nos toca trabajar, para poder ofrecer lo que muchos de nosotros como programadores siempre quisimos que nos ofrecieran.
Con Velneo 6.X y con V7, creo que vamos a seguir teniendo el producto que necesitamos, pero ahora multiplataforma, multidispositivo, PaaS, SaaS, para realizar software on the cloud o en local, multiidioma y abierto, muy abierto a los estándares y con la misma sencillez que hasta ahora y lo más importante todo transparente y compatible.
Quizás a los puristas de Velneo tanta apertura, olvidarnos de nuestra particular terminología, el temor a compartir código nos provoque un poco de nostalgia, pero es el futuro y Velneo quiere estar ahí.
Creo que una vez se va a cumplir el gran objetivo de su creador, tu ocúpate de tus clientes, de sus problemas, de su negocio que nosotros nos preocupamos de facilitarte la tecnología.












