La segunda edición de la guía de DelphiMVCFramework, seis años después
🇮🇹 Italiano • 🇬🇧 English • 🇩🇪 Deutsch • 🇧🇷 Português • 🇫🇷 Français
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.

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.
Este es el índice completo:
| # | Capítulo | # | Capítulo |
|---|---|---|---|
| 0 | Foreword and Introduction | 15 | Municipal Library: Authentication & Authorization Implementation |
| 1 | Getting Started with DelphiMVCFramework | 16 | JSON-RPC |
| 2 | Controllers and Routing | 17 | Swagger / OpenAPI Documentation |
| 3 | Functional Actions | 18 | Server-Side Views with TemplatePro |
| 4 | Renders | 19 | Building Modern Web Apps with HTMX |
| 5 | Validation | 20 | WebSocket Support |
| 6 | Municipal Library: The Database | 21 | Dependency Injection |
| 7 | Municipal Library: The APIs | 22 | Repository Pattern |
| 8 | Municipal Library: Creating APIs using Datasets | 23 | Server Engines & HTTPS |
| 9 | Municipal Library: MVCActiveRecord Introduction | 24 | Logging and Monitoring |
| 10 | Municipal Library: Complete APIs with MVCActiveRecord | 25 | Deployment Scenarios |
| 11 | ActiveRecord in Depth | 26 | Hidden Gems |
| 12 | Authentication & Authorization | 27 | RESTful Client |
| 13 | OpenID Connect | 28 | Tips and Tricks |
| 14 | Middlewares | 29 | Minimal Web API |
| A | MVCActiveRecord 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.
Buena lectura, y cuéntame qué no cuadra.
– Daniele Teti

Comments
comments powered by Disqus