Migrar desde Visual FoxPro a Xojo

Visual FoxPro (VFP) es una herramienta de programación de Windows creada por Microsoft.  Ya ha llegado al final de su vida y de hecho ya no está soportada por Microsoft. VFP dispone de su propio motor de base de datos integrado, un diseñador de formularios y un lenguaje de programación.

Migración desde FoxPro

Migrar una aplicación de Visual FoxPro es generalmente un proceso en tres pasos donde se migra la base de datos propiamente dicha, los formularios utilizados para manipular los datos y el código de scripts utilizado.

Base de datos

Cuando se migra una aplicación de VFP lo primero que necesitas tener en cuenta es la base de datos propiamente dicha. Puedes conectarte a una base de datos VFP utilizando ODBC en Windows, pero tiene más sentido migrar los datos a SQLite, un motor de bases de datos rápido y que además es multiplataforma.

Formularios

En VFP se utilizan los formularios para editar los datos de las tablas. Puede recrearlos como Ventanas (o Páginas Web) arrastrando y soltando los diferentes controles gráficos, tal y como harías en VFP.

En el caso de las aplicaciones de escritorio, encontrarás en el control DataControl una forma simple de mapear los campos con las tablas y columnas de las tablas de la base de datos, sin tener que escribir siquiera una sola línea de código.

Código Fuente

VFP se programa utilizando un lenguaje propietario que resulta bastante similar al lenguaje de programación Xojo. Podrás reescribir tu código, pero al mismo tiempo encontrarás que el lenguaje de programación Xojo te resulta familiar.

Cully Technologies tiene una herramienta que puede ayudarte en la migración de tus proyectos Visual Fox Pro a Xojo.

Sintaxis del Lenguaje

La sintaxis de los dos lenguajes es diferente, pero los conceptos son muy similares. Por ejemplo, para crear una instancia de una nueva clase en VFP, escribirías este código:

LOCAL oMyClass
oMyClass = CREATEOBJECT("MyClass")

En Xojo tendrías que escribir:

Dim oMyClass As New MyClass

El comando MessageBox de VFP es parecido. En vez de escribir esto:

MessageBox("Hello, World!")

Has de escribirlo así:

MsgBox("Hello, World!")

Estos son algunos de los comandos VFP y de sus equivalentes en Xojo:

Comando VFP Comando Xojo
ON ERROR Exception
TRY..CATCH..END TRY Try..Catch..End Try
DO WHILE..ENDDO While..Wend
FOR EACH..ENDFOR For Each..Next
FOR..ENDFOR For..Next
IF..ENDIF If..End If
LOOP Continue
DECLARE Dim
DO CASE..END CASE Select Case..End Select

 

Agradecimientos especiales a Kevin Cully of Cully Technologies por su ayuda a la hora de prepara la información contenida en esta entrada.

Información Adicional

Para aprender más sobre Xojo y sobre cómo utilizarlo para sustituir a Microsoft Visual FoxPro, consulta este Webinar (en inglés):

Javier Rodriguez

Consultor, desarrollador y formador con más de 25 años de experiencia. Reconocido experto en el mundo Apple, autor de varios libros sobre tecnología. Si tienes un proyecto o necesitas ayuda, ¡ponte en contacto conmigo!

17 Comentarios en “Migrar desde Visual FoxPro a Xojo
  1. micky dice:

    Interesante tu articulo, estoy buscando la forma de hacerlo entre de VFP a C#… mas que nada la parte de clases visuales de como lo haces en vFP y hacerlo similar en C#.

    Gracias

    • Estimado Micky,

      Te recomiendo que descargues Xojo y le eches un vistazo. Es Multiplataforma real, nativo y comprobarás cuan fácil y potente es tanto el entorno de desarrollo como el lenguaje propiamente dicho.

  2. Jose Rodolfo Garcia dice:

    Hola Javier, veo interesante esto de Xojo. Programe durante mucho tiempo en Visual FoxPro y me gustaria migrar varios de mis proyectos a esta herramienta Xojo. Me puedes dar algunos tips de donde encontrar cosas para ir probando??

    • Hola,

      Me pongo en contacto con usted por correo electrónico.

      • feliciano enrique yagual Sarasti dice:

        me interesa, pero hay que ver, estoy revisando scriptcase

        • Estimado Feliciano,

          Después de echar un vistazo a Scriptcase, comprobarás que no tiene nada que ver con Xojo. La primera es un framework en torno a PHP que requiere del conocimiento de HTML, JavaScript… y PHP. Por otra parte Xojo permite crear y desplegar aplicaciones nativas Multiplataforma autocontenidas, más seguras, potentes y flexibles en cuanto al tipo de proyectos que puedas realizar.

          Para acelerar el aprendizaje con Xojo siempre puedes contar con los recursos disponibles en mi sitio web, en el propio sitio web de Xojo (también en español), así como mediante mis bonos de consultoría/formación y el libro electrónico que te permite aprender el lenguaje desde cero.

          Javier

  3. Nery dice:

    Hola, con respecto al lenguaje VB 6, se puede migrar con herramientas o se debe re-escribir únicamente.

    saludos

    • Hola,

      Puedes utilizar el Asistente de Migración de VisualBasic a Xojo; si bien has de tener en cuenta que no se encarga de convertir el código de VisualBasic a Xojo… sino que simplemente se trata de una ayuda que se encarga de lo siguiente:

      VBMA migra los siguientes proyectos de VB a Xojo:

      Estructura del Proyecto
      Diseños de los formularios/plantillas
      Código Fuente

      Una vez que el proyecto está en Xojo, puedes iniciar el proceso de actualizar todo para que funcione en Xojo.

      Puedes encontrar más información sobre el proceso de migración desde VisualBasic, en español, en esta otra entrda del blog.

  4. Jainer Marin dice:

    Gracias
    Muchacho. Me han inquietado y voy a revisar el tema de xojo

    Gracias.

  5. kristhian rojas dice:

    para personas que quieran aprender a programar es muy complicado?

    • Hola Kristhian,

      La curva de aprendizaje de Xojo es realmente suave y conseguirás resultados en muy poco tiempo. Esto es en gran parte así gracias al IDE (entorno de desarrollo) y al paradigma de programación orientada a eventos, y también al potente lenguaje de programación orientado a objetos. Las ayudas proporcionadas por el IDE en el diseño de interfaces de usuario son excelentes, así como el autocompletado de código, las pistas sobre uso de métodos en la barra inferior de la ventana, etc.

      Para aprender el lenguaje te recomiendo mi eBook puesto que, precisamente, enseña los fundamentos de la programación desde cero con el lenguaje de Xojo.

      También encontrarás otros recursos gratuitos como las entradas de este mismo blog, la mayoría de ellos como tutoriales con vídeos, los cursos gratis (sobre el uso de Timers —temporizadores— y también SQLite con Xojo), etc.

      En fin, descarga gratis Xojo y compruébalo por ti mismo. Seguro que te enganchará en poco tiempo!

  6. jose valverde dice:

    Amigo javier, que ventajas hay en XOJO en relacion a otro lenguajes (Python,Java,C++, etc etc

  7. ORLANDO CARMONA dice:

    Tengo varias aplicaciones en vfp9. Estas aplicaciones se deben adaptar a la nube. Xojo puede ayudarme a cumplir con esta meta?. existe algun proceso automatizado de conversion? que tan complicado es el aprendizaje de Xojo con respecto a lo conocido en vfp9.

    Agradezco su colaboracion al respecto

    • Seguramente pueda adaptar sus soluciones a la nube con Xojo. Lo que no encontrará será una herramienta que automatice el proceso, aunque puede observar que existen diversas similitudes en el lenguaje de programación, de modo que no le resultará muy compleja la adaptación.

      Eso sí, el principal cambio probablemente sea el de adaptar la base de datos propiamente dicha desde VFP a cualquiera de los motores de bases de datos estándares como PostgreSQL, MySQL, Oracle… una buena decisión en cualquier caso.

      El aprendizaje de Xojo es realmente sencillo y directo; además de que podrá afrontar la creación de cualquier tipo de aplicación nativa y compilada tanto para Desktop, como para la nube, iOS o RaspberryPi.

      Si necesita despejar cualquier duda o bien acelerar el aprendizaje del lenguaje Xojo, le recomiendo tanto mi eBook “Lenguaje de Programación Xojo” como los bonos de consultoría/formación, mediante los cuales puede impulsar el aprendizaje del entorno en tiempo récord. Si necesita más información, no dude en contactar nuevamente conmigo.

  8. Que tal Javier. Soy programador de VFP desde que salió al mercado y aun mas atrás de dBase III+ y Clipper Summer 87 y Clipper V. Que tienen en común? Además que todos están casi extintos, usaban tablas DBF’s. Orgulloso sigo desarrollando en VFP, sin embargo he estado haciendo mis primeros proyectos con XOJO y estoy muy entusiasmado. Estoy pensando dar el paso para comprar una licencia para desarrollar en WEB pero tengo duda en que es lo que debo comprar aparye para vender mis proyectos. La primera duda seria:
    1. Si compro dicha licencia, puedo desplegar mis aplicaciones en internet sin costo adicional?
    2. Es necesario comprar un servicio Cloud para mis proyectos?

    Ojala me puedas apoyar en tomar esta decisión y agradezco el apoyo.

    • Hola Juan,

      Te he contestado vía email, y también te contesto por este canal por si otros usuarios encuentran útil la respuesta.

      1. Puedes desplegar tus aplicaciones (de cualquier tipo con Xojo) sin coste adicional de royalties u otros costes ocultos; sólo los que tu mismo debas de asignar como propio coste de infraestructura: en el caso de despliegues Web sería el hosting compatible con los requerimientos técnicos de despliegue.
      2. NO es necesario contratar Xojo Cloud para el despliegue de aplicaciones Web; si bien la inmensa mayoría creo que lo encontraréis verdaderamente útil por muchos motivos: te despreocupas de todas las tareas asociadas con la puesta en marcha, configuración y mantenimiento del servidor (¡especialmente en lo relacionado a la seguridad!); está totalmente integrado en el IDE de Xojo; la configuración de SSL es tan simple como hacer clic en un botón; crece a medida que tus apps lo requieren; flexible y un precio bastante aceptable teniendo en cuenta todo lo que ofrece. De este modo, sólo te tienes que centrar en la propia solución que desarrollas y no en el sistema sobre la cual la estás desplegando… especialmente si no tienes un equipo de TI detrás de ti 😉
      Javier

Deja un comentario

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

*