Nome
Giovanni Bruno
Ruolo
Sviluppatore Web & Software Architect
Email
Telefono
LinkedIn
Modernizzazione software

Da vecchio software desktop a piattaforma web moderna: come convertirlo senza perdere nulla

In tantissime aziende c'è un programma che “fa tutto”: scritto anni fa in Access, Visual Basic, Delphi o FoxPro, installato su un paio di PC dell'ufficio e conosciuto davvero da una sola persona. Funziona, ma è sempre più fragile. In questo articolo vediamo quando conviene trasformarlo in una piattaforma web moderna, cosa comporta e come farlo senza perdere dati, regole e abitudini che negli anni sono diventati il cuore del lavoro.

Il problema del software “standalone”

Per software standalone si intende un programma che gira su un singolo computer o su pochi PC collegati a una cartella condivisa: database Access, applicazioni in Visual Basic 6, Delphi, FoxPro o Clipper, fogli Excel con macro diventati veri e propri gestionali, piccoli programmi su misura scritti da un consulente che oggi non c'è più.

All'epoca erano scelte sensate. Oggi mostrano limiti sempre più evidenti:

  • Funziona solo in ufficio. Da casa, da un cantiere, da un negozio o dal telefono non si può usare, se non con collegamenti remoti al PC.
  • Dipende da un computer preciso. Se quel PC si guasta o va sostituito, reinstallare tutto diventa un'impresa, tra librerie, driver e versioni di Office.
  • Ogni aggiornamento di sistema è un rischio. Il passaggio a nuove versioni di Windows, come dopo la fine del supporto di Windows 10 nell'ottobre 2025, ha messo in difficoltà molti di questi programmi.
  • Più utenti, più problemi. File bloccati, database corrotti, dati sovrascritti quando due persone lavorano insieme.
  • Nessuno sa più come funziona. Le regole sono scritte nel codice, ma la documentazione non esiste e chi l'ha sviluppato non è più raggiungibile.
  • Sicurezza e backup fragili. Dati su una cartella condivisa, senza accessi personali e con copie di sicurezza affidate alla buona volontà.

Cosa cambia con una piattaforma web

Convertire il vecchio programma in un'applicazione web significa portare le stesse funzioni, migliorate, dentro il browser. I vantaggi sono concreti:

  • Accesso da ovunque: PC, tablet e smartphone, in ufficio o fuori, senza installare nulla.
  • Più utenti contemporaneamente sugli stessi dati, sempre aggiornati, con un database progettato per lavorare in condivisione.
  • Accessi personali e permessi: ognuno vede e modifica solo ciò che gli compete, e resta traccia di chi ha fatto cosa.
  • Backup automatici e aggiornamenti centralizzati: si aggiorna il server una volta, non ogni singolo PC.
  • Prestazioni: ricerche e report su anni di dati in tempi rapidi, grazie a un database come MySQL ben indicizzato.
  • Integrazioni: e-commerce, contabilità, corrieri, email e servizi esterni collegati tramite API, cosa spesso impossibile con il vecchio software.

L'obiettivo non è “rifare tutto da zero”, ma preservare ciò che il vecchio programma fa bene, cioè le regole e i flussi su cui l'azienda si basa, eliminando i limiti tecnologici che lo rendono fragile.

Cosa va salvato del vecchio software

Il valore di un programma usato per anni non è il codice, ma tutto ciò che contiene:

I dati

Anagrafiche, storici, documenti, movimenti: spesso decenni di informazioni. Vanno estratti dal vecchio database (file Access, DBF, archivi proprietari), ripuliti e importati nel nuovo con controlli di coerenza. Problemi tipici: caratteri accentati che diventano simboli strani, date in formati diversi, duplicati, campi usati per scopi diversi da quelli previsti.

Le regole di business

Come si calcola uno sconto, quando un ordine si considera evaso, cosa succede se un cliente è insolvente: sono regole nascoste nel codice e spesso non scritte da nessun'altra parte. Vanno ricostruite leggendo il codice esistente e verificate con chi usa il programma ogni giorno.

Le abitudini di lavoro

Scorciatoie da tastiera, stampe con un'impaginazione precisa, l'ordine dei campi in una maschera: dettagli che sembrano secondari ma che fanno la differenza tra un nuovo software accettato e uno rifiutato. La nuova interfaccia deve essere moderna, ma familiare dove conta.

I collegamenti con il mondo esterno

Stampanti di etichette, lettori di codici a barre, esportazioni verso il commercialista, file scambiati con fornitori: ogni collegamento va censito e riportato nella nuova piattaforma, a volte con soluzioni diverse. I lettori di codici a barre, ad esempio, funzionano direttamente nel browser; per alcune stampanti speciali può servire un piccolo programma di supporto sul PC.

Il metodo: sostituire per moduli, non tutto in un colpo

Il rischio maggiore di una conversione è il “grande salto”: mesi di sviluppo e poi un giorno in cui si spegne il vecchio programma e si accende il nuovo, sperando che funzioni. È molto più sicuro procedere per gradi:

  1. Analisi del sistema esistente. Si studiano codice, database e maschere, e si osserva come il programma viene usato davvero. Il risultato è una mappa di funzioni, dati e regole, con le priorità.
  2. Progettazione della nuova base dati. Il database viene ridisegnato in modo pulito, con vincoli e relazioni corrette, mantenendo la compatibilità con i dati storici.
  3. Migrazione di prova dei dati. Si importano i dati reali in un ambiente di test e si verificano numeri, totali e casi particolari insieme a te, ripetendo l'operazione finché tutto coincide.
  4. Sviluppo per moduli. Si parte dalla parte con più valore o più problemi, ad esempio anagrafiche e ordini, e la si mette in uso mentre il resto continua a girare sul vecchio programma.
  5. Periodo di convivenza. Per un tempo limitato i due sistemi lavorano in parallelo e i dati vengono sincronizzati, così da confrontare i risultati senza rischi.
  6. Spegnimento del vecchio software. Quando tutti i moduli sono stati sostituiti e verificati, il vecchio programma viene archiviato, in sola lettura, per eventuali consultazioni.

Le tecnologie della nuova piattaforma

Per un gestionale aziendale una scelta solida e diffusa è PHP 8 con il framework Laravel e un database MySQL o MariaDB: tecnologie mature, open source, conosciute da moltissimi sviluppatori e ospitabili su qualsiasi server, in cloud o in azienda. L'interfaccia è responsive, quindi utilizzabile anche su tablet e smartphone, e può funzionare come una vera app installabile sul dispositivo.

Scegliere tecnologie diffuse non è un dettaglio: significa che il nuovo software non dipenderà, come il vecchio, da una sola persona o da un linguaggio che nessuno usa più.

Errori da evitare

  • Copiare il vecchio programma schermata per schermata. Si riportano anche i limiti e le soluzioni di ripiego nate per aggirarli.
  • Stravolgere tutto. All'opposto, un'interfaccia completamente diversa senza coinvolgere chi la userà genera resistenze e errori.
  • Sottovalutare la migrazione dei dati. È spesso la fase più delicata e va provata più volte prima del passaggio definitivo.
  • Spegnere il vecchio sistema troppo presto. Un breve periodo di convivenza è la migliore assicurazione.
  • Non documentare. La nuova piattaforma deve essere descritta e versionata, per non ricreare la stessa dipendenza da una sola persona.

Quando è il momento giusto

Il momento migliore per convertire un software standalone è prima che diventi un'emergenza: prima che il PC su cui gira si guasti, che un aggiornamento lo blocchi o che l'unica persona che lo conosce non sia più disponibile. Una conversione pianificata si fa con calma, senza fermare l'attività, ed è l'occasione per aggiungere ciò che il vecchio programma non ha mai potuto offrire: accesso da remoto, integrazioni, automazioni.

Mi occupo di questo tipo di progetti lavorando da remoto con aziende in tutta Italia. Si parte da un'analisi del programma attuale, anche se scritto da altri e senza documentazione, per arrivare a un piano di conversione per fasi, chiaro e senza sorprese.

Hai un progetto simile?

Raccontami la tua situazione: ti rispondo personalmente con una valutazione concreta. Lavoro da remoto con aziende e professionisti in tutta Italia.

Contattami → Manutenzione e sviluppo di software esistente

Leggi anche