Migrar proyecto Visual Basic a Xojo

Microsoft 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. A continuación te presento, traducida al castellano, la entrada original (en inglés) que puedes encontrar en el sitio web de Documentación Xojo sobre la conversión de proyectos Visual Basic a Xojo.

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 el 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

BooleanBoolean
ByteByte
CurrencyCurrency
DateClase Date
DoubleDouble
IntegerInt16
LongInteger
ObjectObject
SingleSingle
StringText
VariantAuto

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 VBControl Xojo DesktopControl Xojo WebControl Xojo iOS
PictureBoxCanvasImageWellWebCanvasWebImageViewiOSImageViewiOSCanvas
LabelLabelWebLabeliOSLabel
TextBoxTextFieldTextAreaWebTextFieldWebTextAreaiOSTextFieldiOSTextArea
CommandButtonPushButtonBevelButtonWebButtoniOSButton
CheckBoxCheckBoxWebCheckBoxiOSSwitch
ListboxListBoxPopupMenuWebListBoxiOSTable
HScrollBarVScrollBarScrollBarWebScrollbarn/d
TimerTimerWebTimerTimer
ShapeOvalRectangleWebOvalWebRectangleiOSOvaliOSRectangle
WebBrowserHTMLViewerWebHTMLVieweriOSHTMLViewer
TreeViewListBoxn/dn/d
ToolbarToolbarWebToolbariOSToolbar
MediaPlayerMoviePlayerWebMoviePlayern/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.

2 comentarios en “Migrar proyecto Visual Basic a Xojo

  1. carlos barni

    Hola Javier, he leido varias notas tuyas (por lo publicado creo que en español debes ser uno de los que más conocen de XOJO y lo comparten y por ello te felicito y agradezco).
    Mi caso es que tengo desarrollado en MS ACCESS algunas APP, siempre quise migrar pero en lo que hago (progranas administrativos), no he encontrado ningúna herramienta mejor.
    Quisiera probar con Xojo pero no se si se pueden pasar los formularios e informes, de forma automatica (aunque despues haya que retocarlos). Desde ya muchas gracias

    1. Javier Rodriguez

      Hola Carlos,

      Puedes recrear los formularios realmente fácil utilizando los controles gráficos disponibles en Xojo, con la ventaja de que la aplicación resultante será multiplataforma; esto mismo también es válido en el caso de los informes (para lo cual dispones de un editor específico en Xojo).

      En cuanto el lenguaje de programación propiamente dicho, entontrarás que Xojo es muy similar al Visual Basic utilizado para el desarrollo de soluciones con Access.

      Por último, y si bien puedes acceder a las bases de datos Access mediante ODBC, encontrarás totalmente preferible convertirlas previamente a una base de datos universal como es el caso de SQLite.

      Javier

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *