code Programmazione

Cosa può compilare l'ultima versione di Delphi

calendar_today personTeam EGSOFT schedule5 min di lettura

VCL e FireMonkey: due mondi diversi

La prima cosa da capire su Delphi è che esistono due framework per l'interfaccia utente, con capacità di compilazione molto diverse. La VCL (Visual Component Library), storica e tuttora la scelta più solida per applicazioni desktop complesse, è pensata esclusivamente per Windows (a 32 e 64 bit). FireMonkey (FMX), il framework più recente, è invece pensato fin dall'origine per essere multipiattaforma: lo stesso progetto FMX può, con opportuni adattamenti, essere compilato per più sistemi operativi diversi a partire dallo stesso codice sorgente.

Le piattaforme target di FireMonkey

Con un progetto FireMonkey, RAD Studio consente di compilare, oltre a Windows, anche per macOS (sia su processori Intel che Apple Silicon), iOS (dispositivo fisico e simulatore), Android (a 64 bit) e Linux a 64 bit, quest'ultimo principalmente orientato ad applicazioni server e console, con supporto grafico più limitato rispetto agli altri target. Ogni piattaforma richiede il relativo compilatore installato tramite GetIt (il gestore pacchetti integrato in RAD Studio) e, per macOS/iOS, una macchina Apple raggiungibile in rete per il collegamento remoto necessario alla fase di compilazione e firma del pacchetto.

Un solo codice, comportamenti diversi

Anche compilando lo stesso progetto FireMonkey per più piattaforme, non tutto il codice è automaticamente portabile: alcune API sono specifiche di una piattaforma (accesso al filesystem, notifiche push, sensori del dispositivo) e vanno gestite con direttive di compilazione condizionale come {$IFDEF ANDROID} o {$IFDEF MACOS}, per adattare il comportamento senza duplicare l'intero progetto.

Quando conviene restare sulla VCL

Se l'obiettivo è un'applicazione desktop pensata esclusivamente per Windows — il caso più comune per software gestionale aziendale — la VCL resta spesso la scelta più produttiva: componenti più maturi, prestazioni native, integrazione più semplice con le API di sistema Windows. FireMonkey diventa realmente vantaggioso quando il requisito multipiattaforma è concreto fin dall'inizio del progetto, perché riscrivere in un secondo momento un'applicazione VCL in FireMonkey per portarla su altre piattaforme comporta comunque un lavoro di adattamento non banale.

Verifica sempre la documentazione ufficiale

Le piattaforme supportate e i relativi requisiti (versioni minime di sistema operativo, SDK richiesti, limitazioni note) cambiano da una versione di RAD Studio all'altra. Prima di pianificare un progetto multipiattaforma vale sempre la pena consultare la matrice di compatibilità aggiornata nella documentazione ufficiale Embarcadero per la versione specifica installata.

codeAltri articoli su Programmazione grid_viewTutti gli articoli
Scrivici su WhatsApp