Die zweite Auflage des DelphiMVCFramework-Handbuchs, sechs Jahre später
🇮🇹 Italiano • 🇬🇧 English • 🇪🇸 Español • 🇧🇷 Português • 🇫🇷 Français
Das offizielle Handbuch zu DelphiMVCFramework, dem populärsten Delphi-Open-Source-Projekt auf GitHub für REST-APIs und Webanwendungen, erscheint in zweiter Auflage. Jetzt zu 90% auf Leanpub.
Als die erste Auflage erschien, war es August 2020. Wir hatten gerade die härteste Phase der Pandemie hinter uns, die Welt war eine andere, und wir selbst waren es in gewissem Maß auch. Freie Zeit hatte ich damals mehr als genug (wie viele von uns), und ich habe sie in ein Buch gesteckt, mein erstes im Selbstverlag.
Sechs Jahre später musste ich auf die Betriebsferien warten, um die Zeit zu finden, das nächste fertig zu schreiben. Richtig Urlaub gemacht habe ich im Juni (ich mag das Gedränge nicht), und in Rom bin ich im August gern: Die Stadt leert sich, der Verkehr macht für mindestens zwei Wochen Pause, und die Tage scheinen langsamer zu vergehen. Also, warum nicht die zweite Auflage fertig schreiben, an der ich seit November 2025 saß?
Hier ist sie: DMVCFramework - the official guide, zweite Auflage, veröffentlicht auf Leanpub und zu 90% fertig.
Sechs Jahre Arbeit am Framework: was sich seit der ersten Auflage geändert hat
Die erste Auflage handelte von dmvcframework-3.2.1-carbon, diese hier dreht sich um dmvcframework-3.5.0-silicon, und dazwischen ist beim Framework viel passiert: functional actions, das Validierungs-Framework, die WebSocket-Unterstützung, die integrierte Dependency Injection, das Repository Pattern, die TemplatePro- und HTMX-Views und die pluggable Server-Architektur mit integriertem HTTPS und dem Streaming-JSON-Serialisierer.
Als ich im November 2025 die Datei der ersten Auflage zum Aktualisieren öffnete, war schnell klar: Das wird eine Neufassung. Fünfzehn von dreißig Kapiteln sind neu, die übrigen wurden neu geschrieben statt aktualisiert. Die erste Auflage beschrieb 3.2.1-carbon gut. 3.5.0-silicon ist ein anderes Framework, und so wurde aus dem, was als Aktualisierung angefangen hatte, ein anderes Buch. Behalten habe ich dagegen das Beispiel der Municipal Library, weil es die Entwicklung gut mitmacht, die du über die Kapitel hinweg siehst: Stück für Stück wächst das Projekt.
Die erste Änderung siehst du, noch bevor du eine Zeile Code schreibst: Der IDE-Wizard startet jetzt mit acht Projekt-Presets, und das Buch beginnt genau dort, bei dem Projekt, das er erzeugt.

Herausgekommen sind 30 Kapitel, über 550 Seiten und 46 Delphi-Projekte im Beispielcode auf GitHub.
Das Referenz-Release ist heute dmvcframework-3.5.0-silicon RC6: Dagegen kompilieren alle Beispiele des Buchs, und beschrieben ist es im Ankündigungsbeitrag zur RC6. Da es ein Release Candidate ist, folgt der Code des Buchs allen weiteren Korrekturen bis zur finalen dmvcframework-3.5.0-silicon.
Welche Probleme das Buch löst
Das Buch ist um die Dinge herum aufgebaut, die dir üblicherweise auf dem Tisch landen:
- du hast noch nie einen Webservice mit Delphi geschrieben und musst bei null anfangen: erst verstehen, was ein Controller macht, dann einen schreiben (Kapitel 1-5)
- du musst schnell liefern, beim Schreiben lernen und bei Standards bleiben, die jeder ohnehin schon nutzt: HTTP und REST, JSON-RPC 2.0, OpenAPI (Kapitel 2, 16, 17)
- du hast eine Delphi-Klasse, die auf einem Server läuft, und ihre Methoden sollen von außen aufrufbar sein: aus einer VCL-Anwendung, aus einer FMX-Anwendung, aus einer mobilen App, aus JavaScript, aus C#, aus Java, aus C++, aus Go, aus Rust, aus Python, aus allem, was HTTP spricht (Kapitel 16, JSON-RPC)
- du musst aus Delphi heraus die API von jemand anderem aufrufen, mit dem REST-Client, den das Framework mitbringt (Kapitel 27)
- du hast eine Datenbank und musst sie als REST-API bereitstellen, ohne für jede Tabelle einen Controller zu schreiben (Kapitel 6-11)
- die API ist bisher offen und soll künftig unterscheiden, wer sie aufruft, über eigene Benutzer oder über den Identity Provider der Firma (Kapitel 12, 13, 15)
- der Client soll Aktualisierungen bekommen, sobald sie passieren, statt alle fünf Sekunden nachzufragen (Kapitel 20)
- jemand fragt dich nach der Dokumentation der API, und zwar nach einer aktuellen (Kapitel 17)
- du musst eine Webanwendung schreiben, die im Browser läuft, und willst in Delphi bleiben: HTML vom Server mit TemplatePro und Interaktivität mit HTMX, ohne dir ein JavaScript-Framework, seine Lernkurve und ein Ökosystem ins Haus zu holen, das sich außerhalb der Delphi-Welt alle zwei Jahre ändert (Kapitel 18 und 19)
- der Server soll hinter TLS stehen und als Dienst unter Windows oder unter Linux laufen (Kapitel 23 und 25)
- etwas ist langsam oder geht im Produktivbetrieb kaputt, und du brauchst Logs und Metriken, um zu sehen, wo (Kapitel 24)
- der Code ist schwer testbar geworden, und du willst die Teile voneinander trennen (Kapitel 21 und 22)
Wenn du bei null anfängst, ist etwas Delphi die einzige Voraussetzung: HTTP, REST und den Rest erklärt das Buch. Wenn du DMVCFramework dagegen seit Jahren in Produktion einsetzt, überfliegst du die ersten fünf Kapitel recht schnell. Am Ende findest du außerdem ein ganzes Kapitel (Hidden Gems) über Dinge, die das Framework seit Langem kann und die in Schulungen und Beratungen bisher kaum jemand kannte.
Ein einziges Beispiel, von Anfang bis Ende
Die Municipal Library API verwaltet eine Stadtbibliothek. Los geht es mit dem Projekt aus dem Wizard, und im letzten Kapitel authentifiziert dieselbe API die Benutzer, lässt sie über einen externen Identity Provider herein, sendet über WebSocket, dokumentiert sich selbst mit OpenAPI und läuft hinter TLS.
Jedes Kapitel fügt genau eine Sache zu einem System hinzu, das du schon im Kopf hast, statt jedes Mal mit einem Beispiel neu anzufangen, das mit dem vorherigen nichts zu tun hat.
Zu den neuen Kapiteln gehören ActiveRecord in Depth, OpenID Connect mit einem echten Keycloak und die Minimal API, die genau mit dmvcframework-3.5.0-silicon dazugekommen ist.
Hier das vollständige Inhaltsverzeichnis:
| # | Kapitel | # | Kapitel |
|---|---|---|---|
| 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 (Anhang) |
Das Buch ist auf Englisch, wie die erste Auflage.
Die Beispiele sind echter Code, und sie bleiben online
Alle 46 Beispiele des Buchs sind mit Delphi 13 Florence auf dmvcframework-3.5.0-silicon kompiliert und getestet, und jede im Buch abgedruckte Ausgabe stammt aus einem echten Lauf des Endpunkts, der davor abgedruckt ist.
Der Code ist öffentlich:
github.com/danieleteti/dmvcframeworktheofficialguideexamples
Ein Ordner pro Kapitel, Apache-2.0-Lizenz, und die Zusage, ihn dauerhaft aktuell zu halten: Wenn sich das Framework ändert, ziehen die Projekte nach. Zumindest bis zur nächsten großen Auflage des Buchs: Dann bringt die neue ihre eigenen Beispiele mit.
Warum es sich lohnt, jetzt bei 90% zu kaufen
Auf Leanpub bestimmst du den Preis selbst, oberhalb eines Minimums. Heute liegt das Minimum bei 45 Dollar, der empfohlene Preis bei 79. Bis das Manuskript fertig ist, halte ich ihn niedriger als sonst: Sobald das Buch bei 100% ist, steigt der Mindestpreis. Das ist mein Dank an alle, die es in den ersten Wochen kaufen, und der erste Grund, jetzt zu kaufen.
Der zweite: Auf Leanpub sind Updates für immer kostenlos. Wer die 90%-Fassung kauft, bekommt alle späteren Überarbeitungen desselben Buchs ohne Aufpreis, auch die für die finale 3.5.0 (das Buch folgt einer Version, die derzeit noch Release Candidate ist, eine Überarbeitung nach dem Freeze ist also schon eingeplant).
Der dritte Grund ist der, der mich am meisten interessiert: Solange das Buch offen ist, lässt es sich noch ändern. Eine unklare Stelle, ein Beispiel, das auf deinem System nicht startet, ein Kapitel, das deiner Meinung nach etwas auslässt, all das kann ich jetzt noch geradeziehen. Auf Leanpub gibt es einen Link Email the Author, über den du mir direkt schreiben kannst. Wer jetzt liest, ist also auch Korrekturleser und landet in der Danksagung der finalen Fassung.
Wer die erste Auflage gekauft hat, hat einen Grund mehr. Allen Lesern der ersten Auflage, die auf Leanpub in der Kunden-Mailingliste eingetragen sind (das Opt-in auf der Dankesseite nach dem Kauf), schicke ich einen Rabattcode für die zweite Auflage, gültig in dieser Zeit vor der finalen Fassung. Wenn du damals das Häkchen gesetzt hast, kommt der Code dort an.
Die fehlenden 10%
Alle dreißig Kapitel sind geschrieben, geprüft und fertig. Die fehlenden 10% sind Feinschliff: Korrekturlesen, Satz, die letzten Bilder und die Angleichung an 3.5.0, sobald diese Version kein Release Candidate mehr ist. Das Front Matter des Buchs sagt offen, was fertig ist und was fehlt, damit du weißt, was du kaufst. Sobald das E-Book vollständig ist, kommt auch die gedruckte Fassung auf Lulu.com, wie bei der ersten Auflage.
Vor sechs Jahren hatte ich Zeit und eine erfundene Deadline. Dieses Jahr hatte ich eine leere Stadt im August und eine echte Deadline. Es hat trotzdem funktioniert.
Viel Spaß beim Lesen, und sag mir, was nicht passt.
– Daniele Teti

Comments
comments powered by Disqus