Introducción a FoxCore

¿Qué es FoxCore?

FoxCore es una biblioteca de procesamiento paralelo y asíncrono para Visual FoxPro que permite ejecutar tareas en segundo plano sin bloquear la interfaz de usuario. Utiliza la potencia del framework .NET para gestionar hilos y procesos, permitiendo a los desarrolladores de VFP aprovechar al máximo los procesadores modernos de múltiples núcleos.

FoxCore transforma aplicaciones VFP monohilo en sistemas que pueden aprovechar todos los núcleos del procesador, mejorando significativamente el rendimiento.

Características principales

Procesamiento paralelo

Procesamiento paralelo

Ejecuta múltiples tareas simultáneamente, aprovechando todos los núcleos de procesamiento disponibles en el sistema.

Ejecución asíncrona

Ejecución asíncrona

Ejecuta operaciones intensivas en segundo plano sin bloquear la interfaz de usuario, mejorando la experiencia del usuario final.

Gestión de tareas

Gestión de tareas

Sistema completo para crear, monitorear, cancelar y recibir notificaciones de tareas en ejecución.

Compatibilidad

Compatibilidad multiplataforma

Compatible con diferentes versiones de Visual FoxPro (VFP9, VFP10.0, VFP10.1, VFP10.2) y arquitecturas (x86, x64).

Notificaciones

Notificaciones de progreso

Sistema de notificaciones que permite reportar el progreso de tareas largas a la interfaz principal.

Manejo de errores

Manejo de errores robusto

Sistema completo para capturar y manejar errores en tareas paralelas, con opciones para continuar o detener flujos de trabajo.

¿Por qué usar FoxCore?

Visual FoxPro es naturalmente una aplicación de un solo hilo, lo que significa que operaciones intensivas pueden bloquear la interfaz de usuario y limitar el rendimiento. FoxCore resuelve este problema permitiendo:

  • Ejecutar operaciones intensivas en segundo plano
  • Aprovechar todos los núcleos del procesador
  • Mejorar la capacidad de respuesta de la aplicación
  • Procesar grandes volúmenes de datos de manera eficiente
  • Implementar operaciones asíncronas con manejo de eventos
Diagrama de arquitectura de FoxCore

Casos de uso comunes

Procesamiento de datos masivos

Divide grandes conjuntos de datos en lotes más pequeños y procésalos en paralelo, reduciendo significativamente el tiempo total de procesamiento.

Caso de uso: Procesamiento de datos

Operaciones de red

Realiza solicitudes HTTP, descargas de archivos o comunicaciones de red sin bloquear la interfaz de usuario.

Caso de uso: Operaciones de red

Generación de informes

Genera informes complejos en segundo plano mientras la interfaz de usuario permanece receptiva.

Caso de uso: Generación de informes

Procesamiento de imágenes

Realiza operaciones intensivas de procesamiento de imágenes sin afectar la experiencia del usuario.

Caso de uso: Procesamiento de imágenes

Primeros pasos

Para comenzar a utilizar FoxCore, sigue estos pasos básicos:

  1. Descargar FoxCore

    Obtén la última versión de FoxCore desde nuestra página de descargas.

    Descargar FoxCore
  2. Instalar la biblioteca

    Sigue las instrucciones de instalación para configurar FoxCore en tu sistema.

    Ver guía de instalación
  3. Incluir FoxCore en tu proyecto

    Carga la biblioteca en tu aplicación VFP:

    DO "ruta\a\FoxCore-VFP9-v1.0.app"
  4. Crear tu primera tarea asíncrona

    Implementa una tarea simple para ejecutar en segundo plano:

    * Definir el script a ejecutar
    TEXT TO lcScript NOSHOW
        * Código a ejecutar en segundo plano
        LOCAL i, lnSuma
        lnSuma = 0
        
        FOR i = 1 TO 1000000
            lnSuma = lnSuma + i
        ENDFOR
        
        RETURN "La suma es: " + TRANSFORM(lnSuma)
    ENDTEXT
    
    * Ejecutar la tarea
    loTask = _screen.FoxCore.Run(lcScript)
    
    * Esperar y obtener el resultado
    loTask.Wait()
    ? loTask.GetResult()

¿Qué sigue?

Explora las siguientes secciones para profundizar en FoxCore: