🔁 Vibe Coding con Delphi, un anno dopo: siamo già nel futuro!

Delphi_ClaudeCode_linked

Quasi un anno dopo l'articolo che aprì la discussione su Delphi-PRAXiS: cosa è successo davvero, cosa ho imparato, e perché oggi apro l'IDE di Delphi solo per ritoccare le form.

📅 Dove eravamo rimasti

Il 3 dicembre 2025 ho pubblicato Vibe Coding con Delphi: quando l'Intelligenza Artificiale diventa il tuo Pair Programmer. Raccontavo tre esperimenti con Claude Code: un nuovo engine di rendering per SVGIconImageList, il componente TStyledPanel per StyledComponents, il refactoring di un progetto MVC VCL+FMX. La sorpresa più grande era stata vedere l'AI modificare un file .dfm al primo colpo.

L'articolo ha aperto una lunga discussione su Delphi-PRAXiS: sette pagine di commenti tra dicembre 2025 e gennaio 2026, con interventi di sviluppatori Delphi molto autorevoli. Alcuni erano entusiasti, altri scettici, qualcuno apertamente contrario.

Chiudevo l'articolo con "Questo è solo l'inizio", e ad un anno di distanza posso dire che era vero. Anzi, forse era riduttivo.

In sintesi, un anno dopo:


🧑‍💻 Il mio lavoro oggi: Meno IDE, più direzione

Il cambiamento più grande non è tecnico, è nel modo di lavorare. Un anno fa Claude Code era uno strumento che usavo per alcuni compiti. Oggi è il mio ambiente di sviluppo principale. RAD Studio resta indispensabile, ma per cose precise: ritoccare a mano il layout di una form, verificare l'aspetto di un componente a design-time, un debug passo-passo quando serve davvero.

Il resto della giornata lo passo a fare quello che un tempo occupava una parte piccola del mio tempo: decidere cosa fare e verificare come è stato fatto. Descrivo l'obiettivo, discuto l'approccio, controllo il piano, rivedo il codice, faccio girare i test. Non scrivo quasi più codice a mano, ma ne leggo molto di più e devo dire che le mie competenze sono cresciute, perché dobbiamo ammetterlo, oggi come oggi posso sviluppare cose di cui non avevo le competenze necessarie per farlo.

Nel frattempo anche lo strumento è cresciuto. Rispetto a un anno fa, nel mio lavoro quotidiano uso stabilmente:


📚 Prima Conquista: la Documentazione

Ogni sviluppatore conosce la frase "la documentazione la scrivo dopo". E sa che "dopo" spesso non arriva mai. Per anni i nostri progetti open-source hanno avuto un README o nel migliore dei casi una sezione wiki con un po' di documentazione e screenshot, che faticava a tenere il passo del progetto. Le unit Pascal avevano commenti sparsi. La documentazione dei progetti per i clienti era quasi sempre in ritardo rispetto al codice.

Quest'anno questo problema è risolto!

📝 Dentro il codice

Le unit Pascal ora hanno commenti di documentazione coerenti su classi, metodi, proprietà ed eventi. Claude li scrive leggendo il codice e il contesto d'uso, non parafrasando la firma del metodo. Quando il codice cambia, aggiornare il commento fa parte dello stesso compito.

🌐 Siti di documentazione con VitePress

Nell'articolo originale avevo mostrato i primi due siti VitePress, per SVGIconImageList e StyledComponents. Oggi ogni componente open-source di Ethea ha il suo sito, con guide, esempi e una sezione Reference completa. Sono tutti raccolti nell'Ethea Showroom: 15 progetti tra componenti, framework, editor e shell extension.

Ethea Showroom

L'Ethea Showroom: componenti, framework, editor e shell extension open-source per Delphi, ognuno con il suo sito di documentazione.

📖 La documentazione dei progetti per i clienti

Lo stesso approccio vale per le applicazioni che sviluppiamo per i clienti. Specifiche, manuali utente, documenti di architettura, note di rilascio: tutto in Markdown, scritto insieme a Claude e mantenuto aggiornato insieme al codice. Per leggerli e scriverli usiamo i nostri strumenti: MarkdownProcessor, come processore esteso di markdown, MarkdownShellExtensions, come editor e anteprima in Esplora risorse e MarkdownHelpViewer per portare la documentazione dentro l'applicazione come help contestuale: i Markdown Tools gratuiti di Ethea.

MarkdownHelpViewer

MarkdownHelpViewer mostra la documentazione Markdown di un progetto, con indice, ricerca ed esportazione in PDF.

Il punto chiave: la documentazione non è più un'attività separata da pianificare. È un sottoprodotto naturale dello sviluppo. E, come vedremo, è anche la base su cui poggia l'assistente AI che oggi integriamo nelle applicazioni.

🚀 Il processo di pubblicazione

Ora la documentazione è un processo automatico nella pipeline di progetto, fino all'automazione di commit/push/release/Doc.Deploy. Pubblicare una nuova release su GitHub e aggiornare il sito di documentazione è diventato semplicissimo.


🧪 Seconda Conquista: gli Unit Test (e i Test della GUI)

La seconda cosa che non trovavo mai il tempo di fare erano i test automatici. Nel mondo Delphi è una storia nota: tanto codice scritto in anni di lavoro, molta logica dentro gli event handler delle form, pochissimi test.

Con Claude Code scrivere test con DUnitX è diventato normale. Per ogni nuova funzionalità chiedo i test insieme al codice. Per il codice esistente, Claude analizza le unit, individua le parti testabili e propone dove serve un piccolo refactoring per renderle tali. Il framework Kittoˣ, per esempio, ha oggi 328 test DUnitX eseguiti su Win32 e Win64.

Test DUnitX di Kittoˣ

La suite DUnitX di Kittoˣ: 328 test, tutti verdi.

🖱️ La novità: Claude testa anche l'interfaccia

La sorpresa di quest'anno è stata questa. Claude Code ha imparato a simulare l'interazione dell'utente con la GUI usando i messaggi di Windows: avvia l'applicazione, trova le finestre e i controlli, invia click, tasti e testo, legge lo stato dei controlli e verifica il risultato.

Può anche catturare screenshot delle finestre e guardarli. Così verifica che una form si presenti come previsto, che un layout non si rompa con un DPI diverso, che un tema chiaro o scuro venga applicato correttamente. In pratica chiude da solo il ciclo: modifica, compila, avvia, prova, guarda, corregge.

😲 Un anno fa mi stupivo perché l'AI modificava un file .dfm. Oggi compila l'applicazione, corregge gli errori, la avvia, clicca sui pulsanti, cattura la schermata e mi dice che un'etichetta è troncata a 150% di scaling. E propone la correzione.

Una delle obiezioni più fondate sul forum era che i test scritti dall'AI possono dare una falsa sicurezza: "tutti i test sono verdi" non significa che il codice sia corretto. È vero e mi è anche capitato di fare "regression" anche in presenza di test (non fatti bene): ma la differenza rispetto a prima è enorme: prima i test non c'erano proprio!


🌐 Un Framework Rinato: Kittoˣ

Kitto è un framework Delphi per applicazioni web "data-driven" che sviluppiamo da molti anni. La versione basata su ExtJS era però finita su un binario morto: la tecnologia client era invecchiata e aveva perso la "retrocompatibilità" e riscriverlo per le nuove versioni di ExtJS richiedeva un impegno che non riuscivamo mai a giustificare.

Con l'aiuto di Claude Code l'abbiamo riscritto. Il risultato è Kittoˣ, un framework per il web con Delphi e HTMX:

TasKitto, la dashboard delle attività

La dashboard delle attività di TasKitto, una delle applicazioni demo di Kittoˣ: HTML generato dal server e HTMX, con grafici Chart.js e nessun framework JavaScript lato client.

KIDEX, l'IDE visuale di Kittoˣ

KIDEX: l'editor dei metadati YAML, il wizard che genera i modelli dal database e la validazione del progetto.

🔌 MCP: l'AI che sviluppa con il framework

Nella nuova versione di Kittoˣ non poteva mancare MCP-KittoX, un server MCP (Model Context Protocol) che espone le funzioni di KIDEX agli agenti AI: Claude Code, Claude Desktop, Codex, LM Studio e qualsiasi altro client MCP. Un agente può creare lo scheletro di una nuova applicazione, generare i modelli partendo da un database esistente e validare i metadati, generare le view di Kittoˣ seguendo le direttive dello sviluppatore, ma facendo sempre nel modo corretto.

MCP-KittoX in Claude Desktop

Claude Desktop usa MCP-KittoX per creare una nuova applicazione Kittoˣ. Notate che l'agente segnala anche quello che non ha funzionato e propone come procedere.

Il cerchio si chiude: un framework riscritto con l'AI, che a sua volta offre all'AI gli strumenti per costruire applicazioni. Le demo live (HelloKitto, TasKitto, KEmployee, Sport Club Manager) sono raggiungibili dal sito di Kittoˣ.


💬 L'AI Entra nelle Applicazioni: Delphi HelpChatAI

Fin qui ho parlato dell'AI che aiuta me a sviluppare. Negli ultimi mesi è successo qualcosa di nuovo: l'AI è entrata dentro i nostri applicativi Delphi, al servizio dei loro utenti.

Delphi HelpChatAI trasforma l'help di un'applicazione in una conversazione. L'utente preme F1 e si apre una chat che sa in quale schermata si trova. Le risposte si basano sulla documentazione Markdown dell'applicazione stessa: quella documentazione che, finalmente, adesso esiste.

Delphi HelpChatAI in un'applicazione VCL

Delphi HelpChatAI in una demo CRM VCL: l'assistente spiega la schermata Leads in cui si trova l'utente.

È un cambio di prospettiva importante. L'AI non è più solo uno strumento per chi scrive software: diventa una funzionalità del software stesso. E con le azioni controllate l'utente può chiedere all'applicazione di fare qualcosa, non solo di spiegare come si fa.

Conferma di un'azione dell'assistente

Un'azione controllata: prima di creare un nuovo lead l'assistente mostra i dati che ha compilato e chiede conferma all'utente.


🏛️ Modernizzare App Legacy: da Delphi 5/6 a Delphi 12/13

Chi lavora con Delphi da molti anni conosce bene il problema: applicazioni enormi, scritte in versioni molto vecchie, che funzionano e fanno guadagnare i clienti, ma che nessuno ha il coraggio di toccare.

Quest'anno abbiamo affrontato il porting di alcune applicazioni di terzi ancora scritte in Delphi 5 o Delphi 6 verso una versione recente Delphi 12/13: una di queste ha oltre 4 milioni di righe di codice. Chi ha fatto una migrazione del genere sa cosa significa: il passaggio a Unicode, componenti di terze parti non più mantenuti da sostituire, API deprecate, codice che dipendeva da comportamenti del vecchio compilatore, ecc...

In un progetto di queste dimensioni Claude Code non sostituisce il lavoro di analisi: lo rende sostenibile. Ci ha aiutato a:

In un caso, insieme al porting abbiamo modernizzato anche l'interfaccia di vecchie applicazioni: supporto High-DPI, temi chiari e scuri, icone vettoriali SVG e utilizzo dei nostri componenti StyledComponents che danno quel tocco in più. Lavori che per anni erano rimasti nel cassetto "quando avremo tempo".

Proprio qui si risponde a una delle obiezioni del forum: "l'AI non può capire l'architettura di una codebase da milioni di righe". È vero che non la legge tutta in una volta. Ma nemmeno noi lo facciamo. Con un buon CLAUDE.md, con un piano di lavoro chiaro e con lo sviluppatore che conosce il sistema a guidare, lavora una parte alla volta, esattamente come farebbe un team umano.


💬 Il Forum, un Anno Dopo

Rileggere oggi la discussione su Delphi-PRAXiS è interessante. Molte obiezioni erano serie, e alcune mi hanno spinto a migliorare il mio modo di lavorare. Provo a riprenderle.

❓ "Non ci si può fidare di quello che scrive"

Giusto. Non ci si deve fidare ciecamente. Ma la risposta non è rinunciare: è costruire un sistema di verifica. Compilazione, test automatici, test della GUI, revisione del codice, una seconda sessione che fa da revisore. Le allucinazioni esistono, ma vengono intercettate da questo ciclo molto prima di arrivare in produzione.

❓ "Chi manterrà tutto quel codice scritto dall'AI?"

Lo stesso team che manteneva il codice prima. Con una differenza: oggi quel codice è documentato e coperto da test, cosa che prima spesso non era. Paradossalmente, il codice scritto con l'AI è più facile da mantenere di molto codice scritto a mano negli anni passati.

❓ "Costa troppo" e "i dati del cliente?"

Sul costo, la mia risposta è la stessa di un anno fa: si ripaga ampiamente. Un framework riscritto, 15 siti di documentazione, una migrazione da milioni di righe: con le sole risorse di una piccola software house nessuno di questi progetti sarebbe stato possibile. Sulla riservatezza, usiamo un piano aziendale con le impostazioni corrette sull'uso dei dati, e abbiamo scritto linee guida interne su cosa può e cosa non può essere condiviso. È un tema da affrontare con serietà, non un motivo per restare fermi.

❓ "E gli sviluppatori junior?"

Questa è la preoccupazione che condivido di più. L'AI amplifica le competenze di chi le ha. Chi deve ancora costruirle rischia di saltare passaggi importanti. Credo che il ruolo degli sviluppatori esperti oggi sia anche questo: insegnare a guidare, verificare, capire perché una soluzione è giusta. Non solo a scrivere codice.

✨ Profetico?

Non voglio peccare di presunzione, ma credo di poter dire che l'articolo è stato, almeno in parte, profetico. A fine 2025 si intravedeva una potenzialità enorme. Oggi quella potenzialità è realtà quotidiana, e non solo per me. Credo che anche i più scettici di allora, tra cui alcuni nomi molto noti e stimati della community Delphi, debbano riconoscere che il mondo dello sviluppo software è cambiato. E non di poco.


🌍 Il Mondo è Cambiato (anzi, è Stato Stravolto)

Quello che ho vissuto con Delphi è un piccolo esempio di qualcosa di molto più grande. In questi dodici mesi abbiamo visto nascere da zero progetti che fino a poco tempo fa avrebbero richiesto anni di lavoro e team numerosi.

Un esempio su tutti: l'organizzazione storytold / ArtCraft su GitHub. Oltre a ArtCraft, un ambiente per la creazione di immagini e video con l'AI, il progetto comprende un'intera suite di reimplementazioni "clean-room", scritte da zero in Rust, di applicativi famosi: un word processor sul modello di Microsoft Word, uno strumento di presentazioni sul modello di PowerPoint, un CAD sul modello di AutoCAD, e altri ancora. Decine di repository, con decine di migliaia di stelle, nati in un tempo che sarebbe stato impensabile senza agenti AI (nei repository si trovano infatti i file CLAUDE.md e AGENTS.md che li guidano).

Un anno fa sembrava un'iperbole dire che con l'AI si potesse costruire software di queste dimensioni da zero! Oggi è un fatto.

Per noi sviluppatori Delphi il messaggio è chiaro. Il nostro linguaggio, i nostri framework e le nostre applicazioni non sono esclusi da questa trasformazione. Anzi: con decenni di codice da documentare, testare e modernizzare, siamo tra quelli che ne possono beneficiare di più, soprattutto grazie alla grande retrocompatibilità che il linguaggio ha sempre mantenuto. Nel nostro caso non si deve "riscrivere" tutto da zero ma si può mantenere il nucleo, le logiche di business iper-collaudate ma allo stesso tempo modernizzare, come è successo con Kittoˣ e con i prodotti "legacy".


🧭 Cosa Ho Imparato in Dodici Mesi

  1. Il contesto è tutto. Un CLAUDE.md ben scritto e un piano di lavoro ben strutturato, vale più di qualsiasi prompt brillante. Investite tempo per tenerlo aggiornato.
  2. Prima il piano, poi il codice. Per i compiti non banali faccio scrivere prima un piano, lo discuto, lo correggo. Solo dopo inizia la scrittura del codice.
  3. Verificare è il nuovo programmare. Test, revisione, una seconda sessione che critica la prima. Il tempo che non passo a scrivere lo passo a controllare.
  4. Collegate l'AI ai dati reali. I server MCP verso database e strumenti trasformano un assistente che indovina in un collaboratore che sa.
  5. Documentazione e test non sono più opzionali. Costano così poco che non farli non ha più giustificazioni.
  6. L'esperto resta indispensabile. L'avevo scritto un anno fa e lo confermo. Cambia il ruolo: meno esecutore, più architetto, revisore e guida.

🚀 Conclusione: e Adesso?

Un anno fa scrivevo: "Benvenuti nel futuro dello sviluppo Delphi". Quel futuro è arrivato prima del previsto. Il mio lavoro è cambiato radicalmente, e non tornerei indietro.

Se un anno fa eravate scettici, vi invito a riprovare oggi, con un progetto reale, un buon CLAUDE.md e la pazienza di imparare a guidare lo strumento. Se invece avete già iniziato, mi piacerebbe sentire la vostra esperienza: cosa ha funzionato, cosa no, dove avete trovato i limiti.

Se volete ne possiamo parlare dal vivo a Roma, all'ITDevCon del 19 e 20 Novembre, dove terrò proprio lo speech su "Un assistente AI dentro le tue applicazioni Delphi, VCL e FMX".

Carlo Barazzetta all'ITDevCon 2026: Un assistente AI dentro le tue applicazioni Delphi, VCL e FMX

👨‍💻 L'Autore

Carlo Barazzetta è uno sviluppatore Delphi senior con esperienza pluridecennale nello sviluppo di applicazioni enterprise. È il fondatore di Ethea S.r.l. e mantiene numerosi progetti open source a disposizione della community Delphi su GitHub, tutti documentati nell'Ethea Showroom:

🏗️ Framework

  • Kittoˣ — Framework per applicazioni web data-driven con Delphi e HTMX, con IDE visuale e server MCP per agenti AI
  • InstantObjects — Framework di persistenza a oggetti per Delphi

🧩 Componenti e Librerie

  • Delphi HelpChatAI — Assistente AI integrato nelle applicazioni VCL e FMX, basato sulla documentazione Markdown dell'applicazione
  • SVGIconImageList — Engine di rendering SVG e componenti per usare icone SVG in applicazioni VCL e FMX
  • StyledComponents — Componenti VCL stilizzati con stili grafici personalizzabili
  • IconFontsImageList — Icon Fonts come immagini e ImageList, con pieno supporto High-DPI
  • DBAwareLabeledComponents — DBGrid avanzato e editor con label integrata
  • DelphiGoogleMap — Google Maps in applicazioni Delphi tramite WebView2
  • SynEdit — Fork dell'editor con syntax highlighting, con oltre 60 highlighter

📖 Markdown e Help System

🔧 Editor e Shell Extensions

Copyright © Novembre 2026 - Carlo Barazzetta, con il contributo di Claude Code