← Tutte le note

WebView2: un'interfaccia web moderna sopra un motore Delphi

Molte aziende hanno un’applicazione desktop con un motore solido — logica di business, integrazioni, gestione di file e firme digitali — ma un’interfaccia che mostra i suoi anni. Gli utenti chiedono qualcosa di moderno; la tentazione è riscrivere tutto, backend compreso. È l’errore costoso di sempre.

Separare il motore dall’interfaccia

La mossa giusta è distinguere due cose che spesso vengono confuse: il motore (quello che fa il lavoro) e l’interfaccia (quello che l’utente vede). Il motore, se funziona, non si tocca. L’interfaccia, invece, si può rifare con tecnologie moderne — senza riscrivere una riga di logica.

WebView2: il web dentro l’app desktop

Uno strumento che rende tutto questo semplice è WebView2: un controllo che incorpora il motore di rendering di Edge (Chromium) dentro un’applicazione desktop. In pratica:

  • Il backend resta in Delphi: business logic, accesso ai dati, integrazioni, firma digitale, elaborazione dei file.
  • L’interfaccia diventa web: una single-page app in React e Tailwind, rendering moderno, componenti riutilizzabili.
  • I due lati dialogano tramite un ponte (host object, postMessage o una piccola API locale): l’interfaccia chiede, il motore esegue.

Il risultato è un’unica applicazione installabile, che gira anche offline, senza dipendere da un browser esterno.

Perché conviene

  • UX moderna senza toccare il backend affidabile.
  • Iterazione rapida sull’interfaccia, con strumenti e competenze web (hot reload in sviluppo compreso).
  • Rischio contenuto: le integrazioni delicate — firma digitale, formati, protocolli — restano dove sono già collaudate.

Il principio

È il pattern bridge applicato dentro una singola app: si modernizza lo strato che gli utenti vedono e si conserva il motore che funziona. Ancora una volta, evoluzione e non riscrittura. Delphi non deve scegliere tra “restare com’è” ed “essere buttato via”: può indossare un’interfaccia nuova e continuare a fare bene il suo lavoro.

Parliamone