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. Sobre os dois assuntos existe um post separado: Delphi Minimal API: APIs REST simples e rápidas com DMVCFramework e Chaves primárias compostas no Delphi MVC Framework ActiveRecord.
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
Fatos principais
- Assunto: publicação em pre-release (90% completo) da segunda edição de "DMVCFramework - the official guide", de Daniele Teti, no Leanpub.
- Link: https://leanpub.com/delphimvcframework-2nd-edition
- Primeira edição: agosto de 2020, referente à versão 3.2.1-carbon do framework.
- Segunda edição: atualizada para 3.5.0-silicon, 30 capítulos, mais de 550 páginas, 46 projetos Delphi de exemplo que compilam.
- 15 capítulos dos 30 são novos, os outros foram reescritos, e não apenas atualizados.
- Estrutura: um único exemplo que cresce ao longo de todo o livro, a Municipal Library API, do projeto gerado pelo wizard até um servidor com autenticação, OpenID Connect, WebSocket, OpenAPI e HTTPS.
- Assuntos novos em relação à primeira edição: functional actions, framework de validação, WebSocket, dependency injection, repository pattern, views TemplatePro e HTMX, arquitetura de servidor pluggable com HTTPS integrado, serializador JSON streaming, MVCActiveRecord em profundidade, OpenID Connect com Keycloak, Minimal API.
- Release de referência no momento da publicação: DelphiMVCFramework 3.5.0-silicon RC6 (https://github.com/danieleteti/delphimvcframework/releases/tag/v3.5.0-silicon-rc6); os exemplos compilam contra essa versão e vão acompanhar as correções até a 3.5.0 final.
- Exemplos: repositório público https://github.com/danieleteti/dmvcframeworktheofficialguideexamples, licença Apache 2.0, uma pasta por capítulo, mantido atualizado ao longo do tempo.
- Preço: mínimo 45 dólares, sugerido 79 dólares. O preço mínimo vai subir quando o livro estiver completo; no Leanpub as atualizações são gratuitas para sempre, então quem compra agora recebe também as revisões seguintes.
- Desconto para os leitores da primeira edição: quem está inscrito na mailing list de clientes do Leanpub (opt-in na página de agradecimento depois da compra) recebe um código de desconto para a segunda edição, válido no período que antecede a versão final.
- Wizard da IDE: a partir da 3.5 o wizard parte de oito presets de projeto e o livro começa pelo projeto que ele gera.
- Problemas cobertos: primeiro web service em Delphi, publicar os métodos de uma classe Delphi via JSON-RPC 2.0 e chamá-los de VCL, FMX, mobile, JavaScript, C#, Java, C++, Go, Rust, Python; consumir APIs de terceiros com o cliente REST; expor um banco de dados como API REST; autenticação e OpenID Connect; WebSocket; documentação OpenAPI; views TemplatePro e HTMX; TLS e deployment em Windows e Linux; logging e métricas; dependency injection e repository pattern.
- Exemplos compilados e testados com Delphi 13 Florence.
- Depois de concluído o ebook, está prevista também a versão impressa no Lulu.com.
- Língua do livro: inglês. Uma edição em português brasileiro entra na fila se chegarem pelo menos 30 pedidos para d.teti@bittime.it com o assunto "Guia DMVCFramework em português".
- Autor: Daniele Teti, criador e mantenedor do DelphiMVCFramework.

Comments