Modernizzare un’applicazione Delphi: aggiornarla, collegarla o sostituirla?

Per modernizzare un’applicazione Delphi ci sono quattro strade: aggiornarla all’ultima versione di Delphi, costruirle sopra un’interfaccia web collegata ai suoi dati, convertirla con strumenti automatici oppure sostituirla un modulo alla volta. A differenza di altre tecnologie degli anni Novanta, Delphi è ancora venduto e aggiornato, quindi non sei obbligato a scappare: la scelta dipende da cosa ti blocca davvero.

Molti programmi gestionali sono nati in Delphi, spesso scritti da una piccola software house o da un singolo sviluppatore. Nel tempo ci si accorge che girano solo su Windows, solo in ufficio e che chi li conosce è sempre più difficile da trovare.

Delphi non è VB6: la differenza che cambia il ragionamento

Spesso vengono messi insieme, ma la situazione è diversa. Visual Basic 6 ha uno strumento di sviluppo fuori supporto dal 2008. Delphi invece è un prodotto attivo: Embarcadero lo vende e lo aggiorna ancora oggi, con versioni recenti che producono applicazioni per Windows, macOS, iOS, Android e Linux.

Questo significa che il tuo programma non è necessariamente “morto”. Il problema però potrebbe essere la versione. Spesso l’applicazione è ferma a un Delphi di molti anni fa e passare a quella attuale è un progetto vero, per tre motivi tipici:

  • Componenti esterni. Molti programmi usano librerie di terzi che possono non esistere più, oppure non essere disponibili per le versioni recenti.
  • Gestione dei testi. Il passaggio a Unicode, avvenuto con Delphi 2009, richiede spesso di rivedere il codice che tratta stringhe e file.
  • Accesso ai dati. Vecchie tecnologie come BDE sono state sostituite, quindi quella parte potrebbe dover essere riscritta.

Sono tre punti da verificare nel tuo caso, prima di stimare qualunque lavoro.

Quale problema vuoi risolvere?

Parti da qui, non dalla tecnologia.

Il problema veroStrada da valutare
Il programma funziona bene, ma la versione è vecchia e non si riesce più a modificarloAggiornare Delphi
Serve l’accesso da fuori ufficio per alcune funzioniInterfaccia web sopra i dati
Non si trova nessuno che lo mantengaSostituzione graduale
Il codice è ordinato e vuoi uscire in fretta da DelphiConversione automatica
Il modo di lavorare è cambiato e il programma non lo segue piùSostituzione graduale

Le quattro strade

1. Aggiornare all’ultima versione di Delphi

Conservi il codice e le regole già scritte, e torni su una base supportata. È spesso la strada più conveniente quando il programma è solido e hai ancora qualcuno che conosce Delphi.

Limiti: il programma resta di solito un’applicazione desktop. Il tema delle persone non si risolve: se oggi è difficile trovare sviluppatori Delphi, resterà difficile anche dopo.

2. Un’interfaccia web sopra i dati

Il programma resta dov’è, e una nuova applicazione web lavora sullo stesso database. Puoi cominciare da pochissime funzioni, ad esempio la consultazione degli ordini per chi è fuori ufficio. Anche chi si occupa di questi progetti indica come percorso il collegare un backend esistente a interfacce più moderne.

Limiti: le regole contenute nel programma, come i calcoli, non si vedono dal database. Se servono anche nella parte nuova, vanno ricostruite o esposte in altro modo.

3. Conversione automatica

Esistono strumenti commerciali che traducono il codice Delphi in C# o in applicazioni web. I produttori promettono equivalenza funzionale, e vanno quindi messi alla prova su una parte reale del programma. Ricorda che un programma convertito resta un programma convertito: si porta dietro schermate, abitudini e difetti.

Limiti: il codice generato può essere difficile da mantenere. Chiedi sempre una prova sul tuo codice, non una dimostrazione generica.

4. Sostituzione un modulo alla volta

I moduli nuovi crescono accanto al vecchio programma, sugli stessi dati, finché questo non si può spegnere. Quando il programma è critico e non può fermarsi, è la strada meno rischiosa, come spieghiamo in riscrivere da zero o sostituire un pezzo alla volta. Il database separato, molto comune nei programmi Delphi (spesso Firebird o SQL Server), rende questo approccio realistico.

Limiti: per un periodo devi mantenere due sistemi, e il collegamento va progettato con cura.

Le verifiche da fare prima di decidere

  1. Hai il codice sorgente, ed è completo? Compresi i componenti esterni, spesso acquistati da fornitori che oggi non ci sono più.
  2. Si compila ancora? Prova a generare il programma da zero su un computer pulito. Se non ci riesci, lo devi sapere prima di promettere a chiunque una modifica.
  3. Quale versione di Delphi usa, e quali librerie? Sono le informazioni che servono per stimare un aggiornamento.
  4. Dove sono i dati e in che formato? Se il database è separato e accessibile, hai molte più opzioni. Se usa ancora vecchi file locali, la prima cosa da fare è spostarli. Abbiamo scritto una guida per chi usa Firebird e FoxPro.
  5. Chi lo conosce? Se è una sola persona, la priorità è farle scrivere ciò che sa, ora.
  6. Quali funzioni si usano davvero? Spesso è una parte molto minore del totale, e riduce il lavoro in ogni scenario.

Quando non fare nulla

Se il programma fa il suo lavoro, gira su un sistema supportato, non ha bisogno di collegarsi ad altro e hai qualcuno che può intervenire, non serve un progetto. Metti al sicuro codice e backup, e rivaluta tra un anno. Spendere per modernizzare qualcosa che non ti crea problemi non ha senso.

Una nota sulla nostra esperienza

Le indicazioni di questo articolo vengono dalla documentazione dei produttori e dal metodo che applichiamo ad altri sistemi datati. Non citiamo qui progetti Delphi specifici. Il ragionamento su dati, regole nascoste e sostituzione graduale è lo stesso che abbiamo seguito, ad esempio, passando da un programma VB6 a una webapp. Se il tuo caso è particolare, il punto di partenza è capire cosa c’è, con un audit del software, e valutare se siamo i fornitori giusti. Il quadro generale è nella guida alla modernizzazione del software legacy.

Domande frequenti

Delphi è ancora supportato?

Sì: il prodotto è ancora venduto e aggiornato dal suo produttore. Le vecchie versioni però non ricevono le stesse attenzioni, quindi controlla qual è quella del tuo programma, e fai verificare i componenti esterni, che hanno una vita propria.

Trovo ancora sviluppatori Delphi?

Sì, ma non è un mercato ampio, e spesso sono profili esperti. Vale la pena considerare questo aspetto nel calcolo a lungo termine, soprattutto se dipendi da una sola persona.

Il mio programma funziona su Windows 11. Devo preoccuparmi?

Non per forza. Che funzioni oggi è un buon segno, ma il rischio riguarda soprattutto la possibilità di modificarlo e la sicurezza dei componenti che usa. Vale comunque la pena provare a compilarlo.