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)
Entrada 4: DelphiMVCFramework; Soporte para ActiveRecord

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.

5/5 - (3 votos)
Categories: Delphi Tags:
Subscribe
Notify of
guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

9 Comments
Inline Feedbacks
Ver todos los comentarios
BERTHGENIS
4 years ago

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’

Rolphy Reyes
Rolphy Reyes
3 years ago

Saludos.

Tengo ese mismo error, la versión es Delphi Berlin Update 2.

Rolphy Reyes
Rolphy Reyes
3 years ago

@Germán Estévez
Hola Netfali!
Hice eso y aún falla; incluso el wizard dice 3.2.2 (nitrogen).

Publique varios post en el grupo de Facebook, a ver si alguien puede comentar.

El error lo resolví, cambiando:
lNullableTDateTime := TDateTime(aValue.AsExtended);
por:
lNullableTDateTime := TDateTime(aValue.AsVariant);

No sé si esa sería la corrección adecuada, con eso compila y se instala sin mayores inconvenientes.

Alberto
Alberto
3 years ago

Hola, Netfali.

¿Cómo puedo generar un archivo dll isapi a partir de un proyecto mvc framework?

Saludos

Carlos Gimenez
Carlos Gimenez
1 year ago

Hola soy nuevo en programación y en Delphi. Tengo que hacer una aplicación y me hablaron de DataSnap. He leído que es preferible DMVC framework.. Cual seria tu opinión y/o consejo al respecto??

9
0
Would love your thoughts, please comment.x
()
x