Become a member!

La segunda edición de la guía de DelphiMVCFramework, seis años después

🌐
Este artículo también está disponible en otros idiomas:
🇮🇹 Italiano  •  🇬🇧 English  •  🇩🇪 Deutsch  •  🇧🇷 Português  •  🇫🇷 Français

DMVCFramework - the official guide, segunda edición, de Daniele Teti

La guía oficial de DelphiMVCFramework, el proyecto open source Delphi más popular en GitHub para API REST y aplicaciones web, vuelve con una segunda edición. Ya al 90% en Leanpub.

Cuando salió la primera edición era agosto de 2020. Acabábamos de salir de la fase más dura de la pandemia, el mundo era distinto y, en cierta medida, nosotros también. De tiempo libre, en esos meses, me sobraba (como a mucha gente), y lo dediqué a escribir un libro, el primero que publiqué por mi cuenta.

Seis años después tuve que esperar al cierre de verano de la oficina para encontrar tiempo de terminar otro. Las vacaciones de verdad las hice en junio (el caos no me gusta), y Roma en agosto me gusta: la ciudad se vacía, el tráfico se toma al menos dos semanas de descanso y los días parecen ir más despacio. Así que, ¿por qué no terminar la segunda edición que llevaba escribiendo desde noviembre de 2025?

Aquí está: DMVCFramework - the official guide, segunda edición, publicada en Leanpub y completa al 90%.


Seis años de trabajo en el framework: qué cambia respecto a la primera edición

La primera edición hablaba de dmvcframework-3.2.1-carbon, esta se centra en dmvcframework-3.5.0-silicon, y por el camino el framework ha avanzado mucho: functional actions, el framework de validación, el soporte WebSocket, la inyección de dependencias integrada, el repository pattern, las vistas TemplatePro y HTMX, y la arquitectura de servidor pluggable con HTTPS integrado y el serializador JSON streaming.

Cuando en noviembre de 2025 abrí el archivo de la primera edición para actualizarlo, tardé poco en llegar a una conclusión: hacía falta reescribirlo. Quince capítulos de treinta son nuevos, los demás se han reescrito en lugar de actualizarse. La primera edición explicaba bien la 3.2.1-carbon. La 3.5.0-silicon es otro framework, y por eso lo que había nacido como una actualización acabó siendo otro libro. Lo que sí mantuve es el ejemplo de la Municipal Library, porque aguanta bien la evolución que verás en los capítulos: poco a poco, el proyecto crece.

El primer cambio lo ves antes incluso de escribir una línea de código: el wizard del IDE ahora parte de ocho presets de proyecto, y el libro empieza justo ahí, por el proyecto que genera el propio wizard.

Los ocho presets de proyecto DelphiMVCFramework en la ventana New Items de RAD Studio

El resultado son 30 capítulos, más de 550 páginas y 46 proyectos Delphi en el código de ejemplo disponible en GitHub.

La release de referencia, a día de hoy, es dmvcframework-3.5.0-silicon RC6: es contra la que compilan todos los ejemplos del libro, y es la que encuentras descrita en el post de anuncio de la RC6. Al ser una release candidate, el código del libro seguirá las correcciones que lleguen hasta la dmvcframework-3.5.0-silicon final.


Qué problemas resuelve el libro

El libro está organizado alrededor de las cosas que te sueles encontrar encima de la mesa:

  • nunca has escrito un servicio web con Delphi y tienes que empezar desde cero, entendiendo qué hace un controller antes de escribir uno (capítulos 1-5)
  • tienes que entregar rápido, aprender mientras escribes y quedarte en estándares que cualquiera ya sabe consumir: HTTP y REST, JSON-RPC 2.0, OpenAPI (capítulos 2, 16, 17)
  • tienes una clase Delphi que corre en un servidor y sus métodos tienen que poder llamarse desde fuera: desde una VCL, desde una FMX, desde una app móvil, desde JavaScript, desde C#, desde Java, desde C++, desde Go, desde Rust, desde Python, desde cualquier cosa que hable HTTP (capítulo 16, JSON-RPC)
  • tienes que llamar desde Delphi a una API de terceros, usando el cliente REST que el framework trae consigo (capítulo 27)
  • tienes una base de datos y necesitas exponerla como API REST sin escribir un controller para cada tabla (capítulos 6-11)
  • la API hoy está abierta y tiene que empezar a distinguir quién llama, con usuarios tuyos o con el identity provider de la empresa (capítulos 12, 13, 15)
  • el cliente tiene que recibir actualizaciones mientras ocurren, en lugar de preguntar cada cinco segundos (capítulo 20)
  • alguien te pide la documentación de la API, y la quiere actualizada (capítulo 17)
  • tienes que escribir una app web que corra en el navegador y quieres quedarte en Delphi: HTML generado por el servidor con TemplatePro e interactividad con HTMX, sin cargar con un framework JavaScript, su curva de aprendizaje y un ecosistema que fuera del mundo Delphi cambia cada dos años (capítulos 18 y 19)
  • el servidor tiene que estar detrás de TLS y correr como servicio en Windows o en Linux (capítulos 23 y 25)
  • algo va lento o se rompe en producción y necesitas logs y métricas para entender dónde (capítulo 24)
  • el código se ha vuelto difícil de probar y quieres separar las piezas (capítulos 21 y 22)

Si partes de cero, el único requisito es algo de Delphi: HTTP, REST y lo demás lo explica el libro. Si en cambio usas DMVCFramework en producción desde hace años, los primeros cinco capítulos los pasarás bastante rápido. Al final encontrarás también un capítulo entero (Hidden Gems) sobre cosas que el framework sabe hacer desde hace tiempo y que, entre cursos y consultorías, he visto que conoce poquísima gente.


Un solo ejemplo, de principio a fin

La Municipal Library API es la gestión de una biblioteca municipal. Se parte del proyecto generado por el wizard, y en el último capítulo esa misma API autentica a los usuarios, les permite entrar con un identity provider externo, transmite por WebSocket, se documenta sola con OpenAPI y corre detrás de TLS.

Cada capítulo añade una sola cosa a un sistema que ya tienes en la cabeza, en lugar de volver a empezar cada vez con un ejemplo desconectado del anterior.

Entre los capítulos nuevos están ActiveRecord in Depth, OpenID Connect con un Keycloak real, y la Minimal API que llegó justo con dmvcframework-3.5.0-silicon. Sobre los dos temas hay un post aparte: Delphi Minimal API: APIs REST simples y rápidas con DMVCFramework y Claves primarias compuestas en Delphi MVC Framework ActiveRecord.

Este es el índice completo:

#Capítulo#Capítulo
0Foreword and Introduction15Municipal Library: Authentication & Authorization Implementation
1Getting Started with DelphiMVCFramework16JSON-RPC
2Controllers and Routing17Swagger / OpenAPI Documentation
3Functional Actions18Server-Side Views with TemplatePro
4Renders19Building Modern Web Apps with HTMX
5Validation20WebSocket Support
6Municipal Library: The Database21Dependency Injection
7Municipal Library: The APIs22Repository Pattern
8Municipal Library: Creating APIs using Datasets23Server Engines & HTTPS
9Municipal Library: MVCActiveRecord Introduction24Logging and Monitoring
10Municipal Library: Complete APIs with MVCActiveRecord25Deployment Scenarios
11ActiveRecord in Depth26Hidden Gems
12Authentication & Authorization27RESTful Client
13OpenID Connect28Tips and Tricks
14Middlewares29Minimal Web API
AMVCActiveRecord at a Glance (apéndice)

El libro está en inglés, como la primera edición. Si llegan al menos 30 peticiones a d.teti@bittime.it pidiendo una versión en español, la pongo en marcha. Escríbeme con el asunto Guía DMVCFramework en español: las cuento y te aviso.


Los ejemplos son código real y siguen online

Los 46 ejemplos del libro están compilados y probados con Delphi 13 Florence sobre dmvcframework-3.5.0-silicon, y cada salida impresa en el libro viene del endpoint que la precede, ejecutado de verdad.

El código es público:

github.com/danieleteti/dmvcframeworktheofficialguideexamples

Una carpeta por capítulo, licencia Apache 2.0, y el compromiso de mantenerlo actualizado con el tiempo: cuando el framework cambia, los proyectos se actualizan detrás. Al menos hasta la próxima edición mayor del libro, que vendrá con sus propios ejemplos.


Por qué conviene comprarlo ahora que está al 90%

En Leanpub el precio lo eliges tú por encima de un mínimo. Hoy el mínimo son 45 dólares, el recomendado 79. He decidido mantenerlo más bajo de lo normal hasta que termine de escribirlo: cuando el libro esté al 100% el precio mínimo subirá. Es mi manera de dar las gracias a quien lo compra en las primeras semanas, y es el primer motivo para comprarlo ahora.

El segundo es que en Leanpub las actualizaciones son gratis para siempre. Quien compra la versión al 90% recibe todas las revisiones posteriores del mismo libro sin pagar la diferencia, incluida la alineada con la 3.5.0 final (el libro sigue una versión que todavía es release candidate, así que ya hay una revisión programada después del freeze).

El tercer motivo es el que más me interesa: mientras el libro siga abierto, todavía se puede cambiar. Un pasaje poco claro, un ejemplo que en tu sistema no arranca, un capítulo que en tu opinión se salta algo: todo eso todavía puedo arreglarlo. En Leanpub hay un enlace Email the Author que permite escribirme directamente. Quien lee ahora hace también de revisor, y acaba en los agradecimientos de la versión final.

Quien compró la primera edición tiene un motivo más. A todos los lectores de la primera edición inscritos en la lista de correo de clientes en Leanpub (el opt-in que aparece en la página de agradecimiento después de la compra) les mando un código de descuento para la segunda edición, válido en este periodo que precede a la versión final. Si en su momento dejaste la casilla marcada, el código te llega ahí.


El 10% que falta

Los treinta capítulos están escritos, verificados y listos. Ese 10% que falta es pulido: relectura, maquetación, las últimas imágenes, y la alineación con la 3.5.0 cuando deje de ser una release candidate. El front matter del libro dice abiertamente qué está terminado y qué falta, así ya sabes qué estás comprando. Cuando el ebook esté completo llegará también la versión impresa en Lulu.com, como con la primera edición.

Hace seis años tenía tiempo y una fecha límite inventada. Este año tuve una ciudad vacía en agosto y una fecha límite de verdad. Funcionó de todas formas.

Consigue el libro en Leanpub

Buena lectura, y cuéntame qué no cuadra.

– Daniele Teti

Datos clave
  • Tema: publicación en pre-release (90% completo) de la segunda edición de "DMVCFramework - the official guide", de Daniele Teti, en Leanpub.
  • Enlace: https://leanpub.com/delphimvcframework-2nd-edition
  • Primera edición: agosto de 2020, basada en la versión 3.2.1-carbon del framework.
  • Segunda edición: actualizada a 3.5.0-silicon, 30 capítulos, más de 550 páginas, 46 proyectos Delphi de ejemplo que compilan.
  • 15 capítulos de 30 son nuevos, los demás están reescritos, no solo actualizados.
  • Estructura: un solo ejemplo que crece a lo largo de todo el libro, la Municipal Library API, desde el proyecto generado por el wizard hasta un servidor con autenticación, OpenID Connect, WebSocket, OpenAPI y HTTPS.
  • Temas nuevos respecto a la primera edición: functional actions, framework de validación, WebSocket, inyección de dependencias, repository pattern, vistas TemplatePro y HTMX, arquitectura de servidor pluggable con HTTPS integrado, serializador JSON streaming, MVCActiveRecord en profundidad, OpenID Connect con Keycloak, Minimal API.
  • Release de referencia en el momento de la publicación: DelphiMVCFramework 3.5.0-silicon RC6 (https://github.com/danieleteti/delphimvcframework/releases/tag/v3.5.0-silicon-rc6); los ejemplos compilan contra esa versión y seguirán las correcciones hasta la 3.5.0 final.
  • Ejemplos: repositorio público https://github.com/danieleteti/dmvcframeworktheofficialguideexamples, licencia Apache 2.0, una carpeta por capítulo, mantenido actualizado con el tiempo.
  • Precio: mínimo 45 dólares, recomendado 79 dólares. El precio mínimo subirá cuando el libro esté completo; en Leanpub las actualizaciones son gratis para siempre, así que quien compra ahora recibe también las revisiones posteriores.
  • Descuento para los lectores de la primera edición: quien está inscrito en la lista de correo de clientes de Leanpub (opt-in en la página de agradecimiento después de la compra) recibe un código de descuento para la segunda edición, válido en el periodo que precede a la versión final.
  • Wizard del IDE: desde la 3.5 el wizard parte de ocho presets de proyecto y el libro empieza por el proyecto que genera.
  • Problemas cubiertos: primer servicio web en Delphi, publicar los métodos de una clase Delphi vía JSON-RPC 2.0 y llamarlos desde VCL, FMX, móvil, JavaScript, C#, Java, C++, Go, Rust, Python; consumir API de terceros con el cliente REST; exponer una base de datos como API REST; autenticación y OpenID Connect; WebSocket; documentación OpenAPI; vistas TemplatePro y HTMX; TLS y despliegue en Windows y Linux; logging y métricas; inyección de dependencias y repository pattern.
  • Ejemplos compilados y probados con Delphi 13 Florence.
  • Después de completar el ebook está prevista también la versión impresa en Lulu.com.
  • Idioma del libro: inglés. Se pondrá en marcha una versión en español si llegan al menos 30 peticiones a la dirección d.teti@bittime.it con el asunto "Guía DMVCFramework en español".
  • Autor: Daniele Teti, creador y mantenedor de DelphiMVCFramework.

Preguntas frecuentes

¿Dónde se compra la segunda edición de la guía de DelphiMVCFramework?
En Leanpub, en leanpub.com/delphimvcframework-2nd-edition. El libro está publicado al 90% y ya se puede comprar y leer; cuando el ebook esté completo llegará también la versión impresa en Lulu.com.
¿Qué cambia respecto a la primera edición de 2020?
La primera edición cubría DelphiMVCFramework 3.2.1-carbon, la segunda está escrita sobre 3.5.0-silicon. Quince capítulos de treinta son nuevos y los demás se han reescrito: functional actions, validación, WebSocket, inyección de dependencias, repository pattern, vistas TemplatePro y HTMX, arquitectura de servidor pluggable con HTTPS, serializador JSON streaming, ActiveRecord en profundidad, OpenID Connect con Keycloak y Minimal API.
¿Cuánto cuesta y cambiará el precio?
En Leanpub el precio mínimo es de 45 dólares y el recomendado 79. El mínimo se mantendrá bajo hasta que termine de escribirlo y subirá cuando el libro esté al 100%. Las actualizaciones en Leanpub son gratis para siempre, así que quien compra la versión al 90% recibe todas las revisiones posteriores sin pagar la diferencia.
¿Hay descuento para quien compró la primera edición?
Sí. Los lectores de la primera edición inscritos en la lista de correo de clientes en Leanpub, mediante el opt-in de la página de agradecimiento después de la compra, reciben un código de descuento para la segunda edición válido en el periodo que precede a la versión final.
¿En qué idioma está el libro y dónde están los ejemplos de código?
El libro está en inglés, como la primera edición; se pondrá en marcha una versión en español si llegan al menos 30 peticiones a d.teti@bittime.it con el asunto Guía DMVCFramework en español. Los 46 proyectos de ejemplo están compilados y probados con Delphi 13 Florence sobre DelphiMVCFramework 3.5.0-silicon y son públicos en github.com/danieleteti/dmvcframeworktheofficialguideexamples, con licencia Apache 2.0 y una carpeta por capítulo.

Comments