Desde hace un corto espacio de tiempo a esta parte le he cogido gustillo al Twitter, y debo admitir que cada vez más.
He comprobado que esta herramienta no sólo se puede usar adecuadamente, sino que se puede usar de forma inadecuada hasta casi mantener un chat.
Eso es lo que ha pasado recientemente cuando algunos de las personas que me siguen en Twitter comenzamos a lanzar mensajes sobre migraciones de VB6 a .NET.
En este punto volvió a surgir la posibilidad de hacer un evento en MADNUG (el Grupo de Usuarios de .NET de Madrid) sobre este tema, algo sobre lo que ya estaba trabajando.
No obstante, surgieron interesantes comentarios al respecto y que me gustaría comentar.
Por un lado, hay muchísimas empresas hoy día que tienen productos Software desarrollados en VB6 (en la que actualmente trabajo sin ir más lejos).
También es cierto, que muchas empresas que tienen su Software desarrollado en VB6 creen que migrarlo a .NET es prácticamente automático (gran error).
Evidentemente, esas empresas no saben lo que son las pruebas unitarias ni tampoco consideran que aporten valor al Software (más que nada porque sus aplicacionesde VB6 adolecían de esto y funcionan "muy bien").
Otras muchas piensan que al llamarse igual, ló único que varía es el "6" por ".NET".
En muchos otros sitios, se piensa que Interop es la solución a todos los males.
Siguiendo con Interop, también hay muchas empresas o desarrolladores, que creen que
Microsoft Windows Interop 2.1 es el aliado perfecto para continuar creciendo nuestro "engendro" creando un híbrido entre VB6 y .NET.
Incluso se piensa que ese híbrido entre VB6 y .NET es fácilmente mantenible y que Interop Forms Toolkit nos proporcionará más ventajas que una aplicación desarrollada únicamente con .NET.
Otras empresas migran y dejan la migración tal y como está (ADO, wrappers & Interop, etc).
Finalmente, otras piensan que todo eso está muy bien pero que es necesario empezar el desarrollo de cero.
Lo cierto es que cada uno tiene sus opiniones y experiencias, y lo que está claro es que no es lo mismo migrar una aplicación "simple" de VB6 a .NET, que una aplicación compleja.
Tampoco es directo el uso de controles de terceros y migrarlos por arte de magia a .NET.
También nos podemos encontrar con que determinadas propiedades de controles de VB6 no tienen su equivalente en .NET.
E incluso podríamos toparnos de bruces con objetos curiosos como VBA.Collection por citar uno con el que me he topado recientemente.
Son obstáculos, salvables muchísimos de ellos, pero muchos creen que no es necesario migrar, y ya no digamos empezar un desarrollo de cero desde VB6 a .NET.
Cierto es el dicho de si funciona no lo toques, pero cuidado con las cosas que no se tocan si quieres o tienes pensado abordar ciertos retos que hoy por hoy VB6 no te puede ofrecer (nuevas tecnologías, interoperabilidad, seguridad, etc).
Otro aspecto a tener en cuenta, es el soporte de VB6.
Por ahora vamos bien, porque utilizar un Software desarrollado en VB6 en sistemas operativos actuales (hasta Windows 7) es factible gracias al trabajo desempeñado por Microsoft para que así sea, sin embargo, la propia Microsoft no asegura que en un hipotético windows 8, VB6 continúe ejecutándose sin problemas como hasta ahora.
¿Qué hacer?. Muchos piensan que hasta que eso ocurra no nos debemos preocupar. De hecho, recientemente he ido a una administración pública en España y esta en concreto están llevando un concurso ahora para migrar sus Windows 2000 a Windows XP.
Se me ponen los pelos de punta con tan sólo pensarlo. No sé si será posible pasar ahora a un sistema operativo del año 2001, posiblemente no sea así y tenga que ser más actual, pero tener a finales del año 2010 un sistema operativo de hace 10 años da un poco de repelús, sinceramente (mi primer Linux lo instalé en el año 1996 y no se me ocurriría instalarlo hoy, me iría a la última versión o la más reciente posible).
Pero en este punto me he encontrado con otro problema (y cuento mi experiencia). Nuestro desarrollo de .NET es en .NET 4.0. Tenemos nuestra aplicación de VB6 y en este caso y por necesidades del guión, una pequeña utilidad que está desarrollada en .NET, sin embargo, y debido al soporte de windows 2000, nos vemos en la obligación de desarrollarla en .NET 2.0 para que se ejecute en Windows 2000 sin problemas.
Es decir, que para este caso concreto, el híbrido es más híbrido aún, teniendo una misma librería desarrollada en .NET 4.0 con LINQ (tal y como se había programado originalmente) y para este caso concreto, una "especial" en .NET 2.0.
Cuento esta pequeña experiencia porque todos y cada uno de nosotros tenemos la nuestra propia.
¿Migrar de VB6 a .NET?, ¿empezar el desarrollo completo de cero de VB6 a .NET?, ¿pasar bloques o partes de VB6 a .NET poco a poco?, ¿pros?, ¿contras?, ¿acceso a datos?, ¿apis?, ¿controles personalizados?, ¿controles de terceros?, ¿recursos?, ¿multidioma?, ¿seguridad?,... etc.
Ernesto por su parte, nos invitó a acceder y leer una entrada que él mismo ha publicado recientemente
sobre este tema, entrada que conviene leer por tener sus particulares puntos de vista (la experiencia de todos es la que nos da una visión más enriquecedora).
Si se lleva a cabo el evento en MADNUG de migración de Software de VB6 a .NET, promete ser muy entretenido y dispar.
No obstante, si te atreves y te ves con ganas y fuerzas, me gustaría que indicaras aquí tu experiencia para nos enriquezcamos todos.
Es muy interesante que hablemos de estas cosas sin ningún tipo de rubor, digamos lo que pensamos y quizás nos animemos a tomar el toro por cuernos sin miedo a ser cogidos.
Cada vez que se migra una línea de código de VB6 a .NET no se muere ningún gatito en el mundo. Creo que en esto hay mucho temor, mucho más del que muchos admiten públicamente, y muchas empresas no se atreven aún en dar el salto a .NET porque temen que algún gatito fallezca por el camino.
P.D.: Y ya no hablo de migraciones de FoxPro a .NET porque esto es ya para nota.
Un saludo.
El próximo miércoles 27 de Octubre a las 19:00 horas, MADNUG, el Grupo de Usuarios de Madrid, realizará un evento de tipo mesa redonda sobre Arquitectura, en el cuál podremos preguntar, debatir y comentar aspectos generales que debemos tener en cuenta, o consejos que entre nosotros nos hagamos de como abordar un proyecto empresarial.
Como novedad, comentar que el evento no se realizará en las oficinas de Microsoft de Madrid, sino en las aulas de formación Vulcan que tan amablemente nos ha cedido Paco Marín (DotNetManía) para llevar a cabo el evento. Mil gracias a Paco por su ofrecimiento.
Podrás acceder a la información detallada del evento
en este enlace.
Podrás registrarte al evento
en este otro enlace.
¡Os esperamos!