A segunda edição do guia do DelphiMVCFramework, seis anos depois
🇮🇹 Italiano • 🇬🇧 English • 🇩🇪 Deutsch • 🇪🇸 Español • 🇫🇷 Français
O guia oficial do DelphiMVCFramework, o projeto open source Delphi mais popular no GitHub para APIs REST e aplicações web, volta em segunda edição. Agora no Leanpub, com 90% do livro pronto.
Quando saiu a primeira edição era agosto de 2020. Tínhamos acabado de sair da fase mais dura da pandemia, o mundo estava diferente e, de certa forma, nós também. Naqueles meses eu tinha tempo livre até demais (como muita gente), e gastei esse tempo escrevendo um livro, meu primeiro em self-publishing.
Seis anos depois, precisei esperar o recesso de verão do escritório para achar tempo de terminar outro. As férias de verdade eu tirei em junho (não gosto de confusão), e gosto de passar agosto em Roma: a cidade se esvazia, o trânsito dá uma trégua por pelo menos duas semanas e os dias parecem passar mais devagar. Então, por que não terminar a segunda edição que eu vinha escrevendo desde novembro de 2025?
Aqui está: DMVCFramework - the official guide, segunda edição, publicada no Leanpub e 90% pronta.
Seis anos de trabalho no framework: o que muda em relação à primeira edição
A primeira edição falava do dmvcframework-3.2.1-carbon, esta é centrada no dmvcframework-3.5.0-silicon, e nesse meio-tempo o framework avançou bastante: functional actions, o framework de validação, o suporte a WebSocket, a dependency injection integrada, o repository pattern, as views TemplatePro e HTMX, e a arquitetura de servidor pluggable com HTTPS integrado e o serializador JSON streaming.
Quando abri o arquivo da primeira edição em novembro de 2025 para atualizá-lo, não demorei para chegar a uma conclusão: precisava de uma reescrita. Quinze capítulos dos trinta são novos, os outros foram reescritos em vez de atualizados. A primeira edição contava bem a 3.2.1-carbon. A 3.5.0-silicon é outro framework, e por isso o que tinha nascido como uma atualização virou outro livro. Mantive o exemplo da Municipal Library, porque ele sustenta bem a evolução que você vai ver nos capítulos: um pedaço de cada vez, o projeto cresce.
A primeira mudança você vê antes mesmo de escrever uma linha de código: o wizard da IDE agora parte de oito presets de projeto, e o livro começa exatamente daí, do projeto que ele gera.

O resultado são 30 capítulos, mais de 550 páginas e 46 projetos Delphi no código de exemplo disponível no GitHub.
A release de referência, hoje, é a dmvcframework-3.5.0-silicon RC6: todos os exemplos do livro compilam contra ela, e é ela que você encontra descrita no post de anúncio da RC6. Por ser uma release candidate, o código do livro vai acompanhar as eventuais correções até a dmvcframework-3.5.0-silicon final.
Que problemas o livro resolve
O livro está organizado em torno das coisas que costumam cair na sua mesa:
- você nunca escreveu um web service com Delphi e precisa começar do zero, entendendo o que um controller faz antes de escrever um (capítulos 1-5)
- você precisa entregar rápido, aprender enquanto escreve, e ficar em padrões que qualquer um já sabe consumir: HTTP e REST, JSON-RPC 2.0, OpenAPI (capítulos 2, 16, 17)
- você tem uma classe Delphi rodando num servidor e os métodos dela precisam poder ser chamados de fora: de uma VCL, de uma FMX, de um app mobile, de JavaScript, de C#, de Java, de C++, de Go, de Rust, de Python, de qualquer coisa que fale HTTP (capítulo 16, JSON-RPC)
- você precisa consumir a API de outra pessoa a partir do Delphi, usando o cliente REST que já vem com o framework (capítulo 27)
- você tem um banco de dados e precisa expor esse banco como API REST sem escrever um controller para cada tabela (capítulos 6-11)
- a API hoje está aberta e precisa começar a distinguir quem chama, com usuários seus ou com o identity provider da empresa (capítulos 12, 13, 15)
- o cliente precisa receber atualizações enquanto elas acontecem, em vez de perguntar a cada cinco segundos (capítulo 20)
- alguém pede a documentação da API, e quer que ela esteja atualizada (capítulo 17)
- você precisa escrever um app web que roda no navegador e quer continuar em Delphi: HTML gerado pelo servidor com TemplatePro e interatividade com HTMX, sem trazer para dentro de casa um framework JavaScript, a curva de aprendizado dele e um ecossistema que, fora do mundo Delphi, muda a cada dois anos (capítulos 18 e 19)
- o servidor precisa ficar atrás de TLS e rodar como serviço no Windows ou no Linux (capítulos 23 e 25)
- alguma coisa está lenta ou quebra em produção e você precisa de logs e métricas para entender onde (capítulo 24)
- o código ficou difícil de testar e você quer separar as peças (capítulos 21 e 22)
Se você parte do zero, o único pré-requisito é um pouco de Delphi: HTTP, REST e o resto o livro explica. Já se você usa o DMVCFramework em produção há anos, você passa rápido pelos primeiros cinco capítulos. No fim você encontra também um capítulo inteiro (Hidden Gems) sobre coisas que o framework faz há tempos e que, entre cursos e consultorias, vi que pouquíssima gente conhece.
Um exemplo só, do começo ao fim
A Municipal Library API é a gestão de uma biblioteca municipal. Começa pelo projeto gerado pelo wizard, e no último capítulo essa mesma API autentica os usuários, deixa que entrem por um identity provider externo, transmite por WebSocket, se documenta sozinha com OpenAPI e roda atrás de TLS.
Cada capítulo acrescenta uma coisa só a um sistema que você já tem na cabeça, em vez de recomeçar toda vez com um exemplo sem ligação com o anterior.
Entre os capítulos novos estão ActiveRecord in Depth, OpenID Connect com um Keycloak de verdade, e a Minimal API que chegou justamente com o dmvcframework-3.5.0-silicon.
Este é o í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) |
O livro está em inglês, como a primeira edição. Mas se chegarem pelo menos 30 pedidos de uma edição em português brasileiro para d.teti@bittime.it, essa edição entra na fila. Me escreva com o assunto Guia DMVCFramework em português: eu conto os pedidos e te aviso.
Os exemplos são código de verdade, e ficam online
Todos os 46 exemplos do livro são compilados e testados com Delphi 13 Florence sobre o dmvcframework-3.5.0-silicon, e cada saída impressa no livro vem do endpoint que a precede, executado de verdade.
O código é público:
github.com/danieleteti/dmvcframeworktheofficialguideexamples
Uma pasta por capítulo, licença Apache 2.0, e o compromisso de mantê-lo atualizado ao longo do tempo: quando o framework muda, os projetos acompanham. Pelo menos até a próxima edição maior do livro, que vai trazer os próprios exemplos.
Por que vale comprar agora, com o livro 90% pronto
No Leanpub o preço quem escolhe é você, acima de um certo mínimo. Hoje o mínimo é 45 dólares, e o sugerido é 79. Decidi mantê-lo mais baixo do que o normal até o fim da escrita: quando o livro chegar a 100% o preço mínimo sobe. É o meu jeito de agradecer a quem compra nas primeiras semanas, e é o primeiro motivo para comprar agora.
O segundo é que no Leanpub as atualizações são gratuitas para sempre. Quem compra a versão 90% pronta recebe todas as revisões seguintes do mesmo livro sem pagar a diferença, incluindo a revisão alinhada à 3.5.0 final (o livro segue uma versão que no momento ainda é release candidate, então uma revisão depois do freeze já está programada).
O terceiro motivo é o que mais me interessa: enquanto o livro não está fechado, ainda dá para mudar. Um trecho pouco claro, um exemplo que não roda no seu sistema, um capítulo que na sua opinião pula uma parte, são todas coisas que eu ainda consigo ajustar. No Leanpub existe um link Email the Author que permite falar direto comigo. Quem lê agora também faz o papel de revisor, e vai parar nos agradecimentos da versão final.
Quem comprou a primeira edição tem um motivo a mais. Para todos os leitores da primeira edição inscritos na mailing list de clientes no Leanpub (o opt-in que aparece na página de agradecimento depois da compra) eu mando um código de desconto para a segunda edição, válido neste período que antecede a versão final. Se na época você deixou a caixinha marcada, o código chega por lá.
Os 10% que faltam
Todos os trinta capítulos estão escritos, verificados e prontos. Esses 10% que faltam são acabamento: releitura, diagramação, as últimas imagens, e o alinhamento à 3.5.0 quando ela deixar de ser release candidate. O front matter do livro diz abertamente o que está pronto e o que falta, então você já sabe o que está comprando. Quando o ebook estiver completo chega também a versão impressa no Lulu.com, como na primeira edição.
Seis anos atrás eu tinha tempo e um prazo inventado. Este ano eu tive uma cidade vazia em agosto e um prazo de verdade. Funcionou do mesmo jeito.
Boa leitura, e me conte o que não fizer sentido.
– Daniele Teti

Comments
comments powered by Disqus