Migrar desde Visual Basic Visual Basic (6 o anterior) y Visual Basic .NET utiliza un lenguaje muy similar al lenguaje Xojo. Observarás que muchos de los comandos son prácticamente los mismos, pero también hay algunas diferencias. Puedes encontrar información adicional en estas dos entradas adicionales del blog (en inglés): Una Alternativa Moderna a Visual Basic y Migra tus Apps Visual Basic a Xojo; así como en nuestro webinar (en inglés) Migrar a Visual Basic. Similitudes con Visual Basic Visual Basic 6 (VB6) ya no está soportado por Microsoft, quien recomienda que migres a Visual Basic .NET (VB.NET). Pero Visual Basic .NET es más amplio y complejo, por no mencionar que no es multiplataforma. Xojo es por lo general una mejor opción para las aplicaciones Visual Basic 6 dado que mantiene la simplicidad de VB6, además de que es un lenguaje orientado a objetos como VB.NET. Lenguaje de Programación Para empezar, la sintaxis del lenguaje de VB es muy parecido a Xojo. Verás una sintaxis familiar para if…Then…Else, For…Next, While…Wend, Dim y otros muchos comandos. Alguien que haya utilizado VB6 o VB.NET no tendrá mayor problema en comprender el lenguaje de programación Xojo. Tipos de Datos Aunque los tipos de datos de Xojo no siempre tienen una equivalencia directa con los tipos de datos VB6, todos los tipos equivalentes están justo ahí. Por ejemplo, Integer es equivalente al Long de VB6. Este es un mapa de algunos tipos de datos de VB a los tipos de datos Xojo: Tipo de Dato VB Tipo de Dato Xojo Boolean Boolean Byte Byte Currency Currency Date Clase Date Double Double Integer Int16 Long Integer Object Object Single Single Tipo de Dato VB Tipo de Dato Xojo String Text Variant Auto Controles Los controles UI (Interfaz Gráfica) incluidos por omisión con VB también están incluidos en su mayoría con Xojo. Pero Xojo también incluye varios controles que no están comprendidos por defecto en VB. Por supuesto, VB tenía multitud de controles adicionales, si bien específicos de Windows, que podían añadirse a su configuración por defecto, y muchos de estos controles pueden añadirse a Xojo utilizando ActiveX, aunque estarán disponibles solo para Windows. Esta es una lista de algunos controles VB y sus equivalentes Xojo Desktop: Control VB Control Xojo Desktop Control Xojo Web Control Xojo iOS PictureBox Canvas ImageWell WebCanvas WebImageView iOSImageView iOSCanvas Label Label WebLabel iOSLabel TextBox TextField TextArea WebTextField WebTextArea iOSTextField iOSTextArea CommandButton PushButton BevelButton WebButton iOSButton CheckBox CheckBox WebCheckBox iOSSwitch Listbox ListBox PopupMenu WebListBox iOSTable HScrollBar VScrollBar ScrollBar WebScrollbar n/d Timer Timer WebTimer Timer Shape Oval Rectangle WebOval WebRectangle iOSOval iOSRectangle WebBrowser HTMLViewer WebHTMLViewer iOSHTMLViewer TreeView ListBox n/d n/d Toolbar Toolbar WebToolbar iOSToolbar MediaPlayer MoviePlayer WebMoviePlayer n/d Diferencias sobre Visual Basic Una gran diferencia es que Xojo no puede crear DLLs, controles ActiveX o cualquier tipo de librería compartida. Dado que estas son tecnologías específicas de Windows, no son útiles para las aplicaciones multiplataforma. Xojo puede acceder a las DLL y muchos controles ActiveX, si bien su uso implica que tu aplicación sólo funcionará sobre Windows y no será multiplataforma. Por supuesto, Xojo puede crear con facilidad aplicaciones web, algo que VB6 no puede hacer. E/S de Archivos La entrada y salida de archivos en VB6 utiliza un acceso basado en rutas a los archivos. Esto no es algo que funcione en las aplicaciones multiplataforma, por lo que Xojo consolida todo el procesado de archivos en unas cuantas clases: FolderItem, TextInputStream, TextOutputStream y BinaryStream. Tipos de Datos Xojo es un lenguaje de programación de tipado fuerte. VB6 (y las versiones más antiguas) te permiten utilizar una variable que no se haya declarado previamente. Puede inferir un tipo de dato basado en un caracter especial en su nombre (name$ podría ser una String, por ejemplo). Antes de intentar migrar tu código a VB6, deberías de utilizar el comando OPTION EXPLICIT para asegurarte de que todas tus variables estén declaradas. Visual Basic Migration Assistant Visual Basic Migration Assistant (VBMA) es una herramienta gratuita que te ayuda a empezar la migración de código VB6 y VB.NET a un proyecto Xojo de escritorio. VBMA crea un proyecto Xojo a partir de los contenidos de tu proyecto VB. En concreto, copia los formularios (diseños), módulos, clases y su código. • Descarga el Asistente de Migración Visual Basic ¿Qué hace el Asistente de Migración Visual Basic? VBMA toma el proyecto VB seleccionado y crea un archivo de proyecto Xojo XML que contiene los formularios (diseños), módulos, clases y código fuente del proyecto VB. El propósito de esta herramienta es llevar tu proyecto a Xojo de modo que puedas trabajar con él en un único lugar. VBMA no crea una aplicación Xojo funcional a partir del código VB. Dado que los formularios (diseños) de VB no tienen una correspondencia directa con las ventanas de Xojo, VBMA mapea los controles VB a sus controles equivalentes Xojo y migra el proyecto. El código fuente no se convierte o modifica en modo alguno. El código se migra al proyecto Xojo, pero está comentado por completo y se incluye fundamentalmente para ser usado como referencia. Para obtener Mejores Resultados • Están soportados VB 5 y 6, así como VB.NET. Si estás usando una antigua versión de VB, actualiza tu código a una versión más reciente antes de usar VBMA. • Revisa e intenta reducir el uso de controles de terceros en VB. No sólo no son multiplataforma sino que muchos de ellos no funcionan con Xojo. Migrar un Proyecto Cuando ejecutas VBMA accedes a un asistente que te guía a lo largo del proceso. 1. Tras la primera pantalla de instrucciones, selecciona el proyecto a migrar. 2. Selecciona el botón “Import Project” (Importar proyecto) y elige el archivo de proyecto VB. También puedes arrastrar archivos individuales al Listado o bien puedes emplear el botón “Add Item” (Añadir Elemento) para seleccionar archivos individuales. 3. Especifica la codificación como sea necesario. Esta es la codificación/lenguaje utilizada cuando se creó el proyecto VB. Esto es especialmente importante si tu proyecto VB usa nombres de archivos que empleen caracteres ampliados (no en inglés). 4. Haz clic en el botón Next (siguiente) para acceder a la pantalla Control Mapping (Correspondencia de Controles). 5. VBMA analiza el proyecto VB y muestra el tipo de controles que utiliza. En la pantalla de correspondencia puedes elegir el control Xojo a utilizar para cada control VB. 6. Puedes guardar el Mapa de Control a un archivo, de modo que puedas usarlo de nuevo en otros proyectos. 7. Haz clic en el botón Migrate (Migrar) para migrar el proyecto VB a un archivo de proyecto XML de Xojo. Se te solicitará una ubicación para guardar el archivo. 8. Cuando finalice VBMA, intentará abrir el archivo de proyecto con Xojo. 9. Con tu proyecto VB ya en Xojo, puedes comenzar a trabajar en crear la versión Xojo.