Inicio > Delphi > DelphiMVCFramework; Framework REST para Delphi

DelphiMVCFramework; Framework REST para Delphi

viernes, 23 de octubre de 2020 Dejar un comentario Ir a comentarios
Share Button

La verdad es que cuesta definir DelphiMVCFramework en pocas palabras para colocarlas en el título de esta entrada. He optado por definirlo como un “Framework REST” para Delphi, aunque es más que eso; En la página del proyecto se define como:

Delphi framework which provides an easy to use, scalable, flexible RESTful, JSON-RPC and ActiveRecord framework for Delphi developers.

DMVCFramework services can be compiled as console application, Windows Service, Linux daemon, Apache module (Windows and Linux) and IIS ISAPI (Windows).dmvcframework_logo

Personalmente creo que es una buena opción (junto con DataSnap) tanto para proyectos nuevos a desarrollar, como para dotar a los proyectos actuales que tenemos en Delphi, de una “puerta de entrada” a interactuar con otros lenguajes, pensando en font-ends web y aplicaciones móviles.

Iré añadiendo los enlaces a las entradas de la serie:

Entrada 1: DelphiMVCFramework; Framework REST para Delphi
Entrada 2: DelphiMVCFramework; Primeros pasos
Entrada 3: DelphiMVCFramework; Acciones básicas (GET, POST, PUT y DELETE)

Actualmente estoy evaluando este software, me perece muy interesante y la idea es aprovechar para mostrar algunas de sus posibilidades en el blog.

El proyecto es OpenSource y está alojado en Github. Actualmente funciona con Delphi para versiones 10 Seatle y superiores.

https://github.com/danieleteti/delphimvcframework/

Además hace poco que Daniele Teti ha publicado la guía oficial de la que ya hablé en la última entrada del blog. Actualmente está disponible en inglés, en portugués/brasileño y traduciéndose al Español (gran noticia por cierto) y que está al 20%.

DESCARGA E INSTALACIÓN

La “puesta en marcha” para empezar a trabajar con DMVC (a partir de ahora me referiré al Framework así para abreviar) es bastante sencilla y simple. En apenas 5 minutos podemos tenerlo funcionando y ejecutando algún ejemplo que nos devuelva resultados.

Desde la página de Github descargamos el proyecto (actualmente en la versión 2.3 “boron”) o clonar el repositorio vía Git.

Si optamos por descargar el ZIP, basta con descomprimirlo en un directorio y tendremos una estructura de carpetas similar a esta:

image

Compilamos los tres paquetes e instalamos el último, que es el que corresponde a la parte visual. No incluye componentes, pero si un par de asistentes para generar proyectos y units.

image

CREANDO EL PRIMER PROYECTO

Una vez compilados los paquetes, podemos usar el asistente para generar nuestro primer proyecto. Seleccionamos File/New/Other y escogemos “DelphiMVCFramework Project”.

Esto abrirá el Wizard y bastará para nuestra primera prueba con aceptarlo con los valores que nos propone.

image

Nos permite cambiar el nombre para las 2 units que nos va a crear automáticamente. (1)

Nos permite cambiar el puerto por defecto para nuestro servidor de prueba. (2)

Nos permite seleccionar que el asistente cree algunas acciones y métodos de ejemplo para tenerlos disponibles en el proyecto. (3)

EJECUTAR EL PROYECTO

Si intentamos ejecutar el proyecto, obtendremos un error debido a que nos faltan algunas librerías.

Aquí hay una documentación básica del proyecto, “La guía de puesta en marcha en 5 minutos”, que ya nos avisa de este problema. La solución es añadir estas carpetas a las opciones del proyecto o a las opciones del entorno.

C:\DMVC\sources
C:\DMVC\lib\dmustache
C:\DMVC\lib\loggerpro
C:\DMVC\lib\swagdoc\Source

Una vez hecho esto el proyecto compila y ejecuta sin problemas. Al arrancarlo nos aparece una ventana como esta, que nos indica que el servidor está en marcha:

image

Si ahora arrancamos nuestro navegador con la siguiente URL:

http://localhost:8080/api

Deberíamos ver una página como esta:

image

Esto nos indica que el servidor está funcionando correctamente.

Hasta aquí esta entrada, básica y de introducción a DelphiMVCFramework; Para ilustrarla aquí tenéis un video corto que muestra todo el proceso.

Os adjunto el link al proyecto de ejemplo.

Un saludo y hasta la próxima.

Share Button
Categories: Delphi Tags:
  1. jueves, 29 de octubre de 2020 a las 20:14 | #1

    Buenas al instalarlo me da un error en la siguiente linea:
    lNullableTDateTime := TDateTime(aValue.AsExtended);

    [dcc32 Error] MVCFramework.ActiveRecord.pas(2271): E2089 Invalid typecast
    [dcc32 Fatal Error] dmvcframeworkRT.dpk(51): F2063 Could not compile used unit ‘MVCFramework.ActiveRecord.pas’

  2. viernes, 30 de octubre de 2020 a las 08:07 | #2

    @BERTHGENIS
    Hola.
    He compilado el proyectoen varias versiones de delphi sin problemas.
    ¿Qué versión de delphi estás utilizando?
    Revisa que estén compilando el package correspondiente a la versión de Delphi que estás utiliaando.
    También puedes probar a descargar otra versión desde el repositorio.

  1. Sin trackbacks aún.
What is 21 + 6 ?
Please leave these two fields as-is:
IMPORTANTE! Para continuar, debes contestar la pregunta anterior (para evitar SPAM) :-)