Hola, sean bienvenidos a una publicación de la saga "¿Qué fue de?". Pues al igual que Visual Basic de quien hablamos en el artículo anterior, Visual Foxpro también fue la herramienta predilecta para el desarrollo de aplicaciones rápidas tanto por aficionados y recién llegados a la programación, como por empresas que se dedicaban a ello de manera profesional (me tocó conocer algunas en la ciudad donde vivía en aquel entonces).
Sin embargo a pesar de su enorme popularidad a finales de los 90's y comienzos de los 2000's Foxpro también desapareció del mapa junto a su hermano Visual Basic, "¿Qué fue lo que sucedió con Visual Foxpro para que desapareciera de golpe?". Daremos respuesta en esta publicación.
Los orígenes de FoxPro:
La historia de FoxPro comenzó antes de formar parte de Microsoft, pues este fue desarrollado originalmente por Fox Software (de quien hablamos en otro artículo), empresa que rápidamente ganó reconocimiento gracias al excelente rendimiento de su motor de bases de datos.
En 1992 Microsoft adquirió Fox Software y continuó impulsando el producto bajo el nombre de Visual FoxPro, incorporando un entorno gráfico de desarrollo similar al que ya ofrecía Visual Basic y apareciendo así en 1995 el mítico entorno de desarrollo que llevó a muchos a adoptarlo y rápidamente comenzar a desarrollar aplicaciones para Microsoft Windows. A Microsoft le salió muy bien la jugada pues ya tenía en el mercado Visual C++, Visual Basic y ahora Visual Foxpro que seguían la misma filosofía: arrastrar y soltar para crear aplicaciones rápidas sin entrar en tantos detalles de la creación de la aplicación.
Un plus que trajo Foxpro fue la completa integración entre su lenguaje de programación y el motor de bases de datos incrustado junto a generadores de reportes, esto permitió desarrollar aplicaciones completas desde un único entorno, algo muy atractivo para pequeñas y medianas empresas y de lo que carecía Visual C o Visual Basic.
El auge de Visual FoxPro:
Durante la segunda mitad de los años noventa Visual FoxPro alcanzó una enorme popularidad: su velocidad para manejar grandes cantidades de información y la facilidad para crear consultas SQL lo convirtieron en una herramienta ideal para sistemas empresariales, se ganó su lema con honores: "nada corre más rápido que un zorro".
Como hemos mencionado, muchos desarrolladores lo preferían porque no era necesario instalar un servidor de bases de datos independiente, claro, estaban en el formato dbf (consultar de nuevo el artículo sobre la historia de Fox software) que eran geniales para uso local, pero no tan buenas (o hasta malas dicen algunos) para manejo en red o con gran concurrencia. Digamos que eran el equivalente a usar Microsoft Access como base de datos en Visual Basic: muy buenas y fáciles de manejar localmente, pero malísimas para sistemas en red.
No estoy quitando mérito a Foxpro por tener un motor de base de datos integrado, de hecho ese fue uno de sus grandes atractivos, pero, entendamos que esto es una ventaja siempre y cuando la base de datos sea para uso exclusivo del sistema: no hay que instalar ningún producto adicional. No fuí programador de Visual Foxpro por lo que no puedo decir a ciencia cierta que tan buenas o malas eran las bases de datos de sistemas programados en Foxpro, pero de hecho tengo un cliente con un punto de venta que lo tiene desde hace unos 15 años (desde que lo conozco) hecho en Visual Foxpro y funciona perfecto; tiene una arquitectura cliente / servidor donde el servidor se encarga de administrar el acceso a la base de datos desde las terminales de cobro y ahí sigue.
Supongo que con las técnicas adecuadas Foxpro era estupendo, mismo caso con Visual Basic y Access: para uso local una base de datos de este tipo funciona bien, claro, hay que tener sistemas de redundancia porque los archivos .mdb de Access tienden a dañarse con facilidad, pero para cosas chicas funcionan perfecto. Olviden eso si quieren montar un sistema en red.
La llegada de .NET
A principios de los años 2000 Microsoft comenzó a centrar todos sus esfuerzos en la plataforma .NET (de quien ya hemos hablado en los artículos previos y que fue la perdición de varias tecnologías de Microsoft). A Visual Foxpro le ocurrió lo mismo que a Visual Basic: Microsoft consideró que ambos ya no tenían cabida en su flamante plataforma y simplemente los descontinuó.
Pero si bien Visual Basic tuvo un nuevo nacimiento como "Visual Basic.NET" no fue así en el caso de Visual Foxpro, no hubo un "Visual FoxPro .NET", simplemente muchos notaron que ahora Visual Studio estaba incompleto, sí, no había un Foxpro por ahí. Microsoft consideró que mantener un lenguaje y un motor de bases de datos independientes ya no encajaba dentro de su nueva estrategia de desarrollo.
Aunque siguió recibiendo soporte y algunas mejoras, en 2007 anunció oficialmente que Visual FoxPro 9.0 sería la última versión del producto. Todavía siguió recibiendo soporte durante algunos años más, finalmente este terminó en 2015 y Visual Foxpro murió definitivamente.
La comunidad reacciona y piden continuidad para Visual Foxpro:
Microsoft se encontraba trabajando en el proyecto Sedna en el momento en que se anuncia que no habrá más desarrollo de Visual Foxpro, Sedna es un conjunto de ampliaciones para VFP 9.0 de los componentes xBase para soportar una serie de escenarios de interoperabilidad con varias tecnologías de Microsoft, incluyendo SQL Server 2005, .NET Framework, Windows Vista, Microsoft Office 2007, Windows Search y Team Foundation Server (TFS). Lo cual era genial, era poner al día a Foxpro aunque eso no significaba que iba a convertirse en Visual Foxpro 10; más bien, Sedna ampliaría las capacidades de interoperabilidad con tecnologías modernas de Microsoft como las ya mencionadas.
Esto parecía contradictorio: Microsoft trabajando para ampliar las capacidades de Visual Foxpro y ahora anuncia que este está descontinuado. Tomó por sorpresa a una enorme comunidad de desarrolladores que aún dependía del producto.
"Si ya están trabajando en Sedna... ¿por qué no convertirlo en Visual FoxPro 10?", buena pregunta pero Microsoft mantuvo la postura de que Sedna únicamente agregaría componentes adicionales sobre VFP9 y que el núcleo del lenguaje no seguiría evolucionando. La respuesta de la comunidad no se hizo esperar:
1.- Que Microsoft continuara desarrollando Visual FoxPro
2.- Que liberara el código fuente como software libre en caso de no dar continuidad al punto #1.
Microsoft respondió:
FoxPro seguiría funcionando durante muchos años.
El soporte continuaría hasta 2015.
Crear una versión moderna de 64 bits implicaría prácticamente reescribir todo el producto.
La estrategia de Microsoft ya estaba centrada en SQL Server y .NET.
- Alan Griver, responsable de Visual FoxPro en Microsoft -
Así que Microsoft no liberó el código fuente de Visual Foxpro pero sí liberó Sedna bajo una licencia Shared Source, permitiendo que la comunidad pudiera ampliar algunos componentes relacionados con la interoperabilidad. Ojo: esto no es realmente código libre, solo dan "permiso" de echar un vistazo pero sin poder usarlo con fines comerciales y habría que hacer mucho trabajo de ingeniería inversa para producir algo totalmente diferente pero inspirado en el producto original para no ganarse una demanda de un kilómetro.
Visual FoxPro no murió por falta de calidad, sino por un cambio en la estrategia de Microsoft. Si hubiera evolucionado hacia .NET o se hubiera liberado como código abierto, podría haber seguido siendo una opción muy competitiva incluso hoy en día.
El legado de Visual Foxpro:
Visual Foxpro nunca murió del todo al igual que Visual Basic clásico, todavía existen miles de aplicaciones funcionando diariamente en empresas, hospitales, comercios e instituciones gubernamentales alrededor del mundo (como el caso del cliente que comenté al inicio que tiene un punto de venta perfectamente funcional que fue desarrollado en Visual Foxpro).
También encontramos diversas comunidades de Visual Foxpro activas en la red, algunas de ellas son:
- Comunidad de Visual Foxpro en Español
- Mundo Visual FoxPro
- https://www.tek-tips.com/forums/microsoft-foxpro.184/
También existen entornos de programación que están inspirados en el viejo Visual Foxpro pero son de carácter comercial:
Lianja: permite aprovechar el código fuente de los antiguos proyectos creados en Visual Foxpro y adaptarlo al nuevo formato, sin embargo requiere una licencia activa para poder programar en este "nuevo" Visual Foxpro.
Servoy: Servoy permite desarrollar aplicaciones al estilo de Visual Foxpro pudiendo trabajar con varias bases de datos de forma bastante transparente para el desarrollador. Sin embargo no es exactamente código en Foxpro, solo toma la filosofía de trabajo pues se trabaja con JavaScript por lo que "solo toma la idea" del método de trabajo del IDE de Microsoft, pero sin tener mucho que ver realmente con dar continuidad a Foxpro.
Conclusiones:
Visual FoxPro representó una plataforma completa para desarrollar aplicaciones empresariales de forma rápida, sencilla y con un excelente rendimiento, convirtiéndose en una herramienta indispensable para miles de desarrolladores durante más de una década.
Es una lástima que Microsoft pusiera fin a su desarrollo y apostara por tecnologías como .NET y SQL Server en lugar de seguir desarrollando Visual Foxpro. Muchas de las aplicaciones creadas con este entorno continúan operando en la actualidad, demostrando la solidez de una herramienta que marcó una época y que todavía es recordada con cariño por quienes desarrollaron sus primeros sistemas empresariales con ella.
Espero este artículo les haya resultado de mucha utilidad, nos leeremos en un próximo artículo y si les ha gustado pueden dejar un comentario al respecto o alguna pequeña propina al respecto. Un agradecimiento a Shoplack por la imagen que acompaña a este artículo.