Prime anticipazioni su Delphi 10.4

Le prime anticipazioni sulle novità di Delphi 10.4 sono state diffuse nei giorni scorsi da Embarcadero. Ne passiamo in rassegna le principali.

Embarcadero ha diffuso le prime anticipazioni su Delphi 10.4, Delphi 10.4, la prossima release del noto ambiente di sviluppo RAD basato sull’Object Pascal. Atteso un deciso miglioramento di Code Insight e una piacevole novità nei record.

Da alcuni giorni, i blog di Embarcadero stanno informando gli utenti di Delphi sulle novità dell’imminente release 10.4. Le novità annunciate riguardano sia l’IDE sia il linguaggio. Anche se non abbiamo ancora avuto modo di provare la nuova versione, vi riportiamo i principali miglioramenti finora descritti dal team di Embarcadero, ricordandovi che si tratta di anticipazioni che potrebbero variare.

IDE

L’IDE di Delphi è oggetto di numerose critiche da parte degli utenti, come è facile verificare anche dai commenti che alcuni di loro hanno postato sui social network. Si direbbe quasi che stia diventando uno dei talloni di Achille di questo tool, tanto più che molti altri ambienti di sviluppo presenti sul mercato stanno costantemente alzando l’asticella della qualità e delle funzionalità. Ben vengano, quindi, tutti i miglioramenti che si possono apportare in questo ambito.

Le principali novità dell’IDE riguardano Code Insight e Get-It manager.

Code Insight

Una delle notizie forse più attese dalla community degli sviluppatori di Delphi è, forse, quella del rifacimento di Code Insight, ovvero l’insieme di funzionalità che dovrebbero aiutare a scrivere il codice meglio e più velocemente. Come riconosciuto dalla stessa Embarcadero, alla crescita del linguaggio non è corrisposto un adeguato miglioramento di Code Insight, che ora è stato riscritto con una nuova archiettura.

Code Insight è posto ora in un thread separato e comunica con l’IDE in modo asincrono. Ciò comporta una serie di benefici, tra i quali il fatto che l’IDE stessa non si bloccherà in attesa che Code Insight concluda le proprie elaborazioni. Inoltre, si potranno usare funzionalità come il completamento del codice anche durante il debug. Infine, gli errori del codice segnalati da Code Insight saranno tutti e soli quelli che segnalerebbe il compilatore.

Un bel passo avanti, non c’è che dire, atteso da molti anni. A ciò si aggiunge anche una miglior gestione della memoria e altri miglioramenti per così dire minori, che troverete nel post di Embarcadero.

Get-It

Interventi di pulizia e miglioramento delle funzionalità sono stati eseguiti anche su Get-It manager, il servizio che consente l’installazione e la gestione delle librerie di terze parti e degli stili che si possono aggiungere a Delphi. Essi colmano le lacune che hanno reso l’uso di questa funzionalità piuttosto scomodo. Il cattivo funzionamento dei filtri e la difficoltà di gestire novità e aggiornamento fra i package disponibili resteranno un ricordo.

La nuova implementazione elimina definitivamente i filtri sui package gratuiti e a pagamento (e questo potrebbe non essere un bene) ma aggiunge quello sugli aggiornamenti, assai utile; anche l’ordinamento dei package potrà essere svolto sulle date, consentendo così di cogliere rapidamente le novità senza dover scorrere tutta la lista. Ogni package installato, infine, riporterà la data di installazione, mentre tutti mostreranno la data di rilascio.

Get-It sarà usato anche per il rilascio di eventuali patch, che saranno segnalate in una nuova sezione della Welcome page.

Il linguaggio

Alcune novità sono presenti anche a livello di linguaggio e di VCL. La principale riguarda i record, mentre per nella VCL sono introdotti un nuovo componente e il supporto per-control style.

Custom managed record

I record introducono la possibilità di implementare un’operazione di inizializzazione e una di finalizzazione:

type
  TMyCustomManagedRecord = record
    Value: Integer;
    class operator Initialize (out Dest: TMyCustomManagedRecord);
    class operator Finalize(var Dest: TMyCustomManagedRecord);
  end;

Questa novità non permette solo di inizializzare i campi dei record unmanaged (com’è noto, per default Delphi non inizializza a zero i campi di questi record) ma rende i record assai flessibili e ne aumenta le possibilità d’uso in alternativa alle più pesanti classi.

Da notare che l’inizializzazione è eseguita nel momento in cui la variabile di tipo custom managed record è dichiarata (nell’apposita sezione del codice o con una dichiarazione inline) e la finalizzazione quando la variabile diventa out of scope.

Nei nuovi custom managed record è possibile ridefinire anche l’operatore Assign:

  class operator Assign (var Dest: TMyCustomManagedRecord; const [ref] Src: TMyCustomManagedRecord);

Assign è richiamato con la sintassi := e deve seguire regole di sintassi ben precise.

Per-control style

Usando la proprietà

TControl.StyleName

ogni controllo potrà avere un proprio stile specifico, purché tra quelli aggiunti al progetto. Anche le finestre di dialogo potranno avere il proprio stile, usando la proprietà

TStyleManager.DialogsStyleName

Ci sarà poi la possibilità di impostare un tema di default per tutti gli elementi per i quali queste proprietà non saranno state impostate.

TEdgeBrowser

Il nuovo componente TEdgeBrowser è l’unica novità della VCL di cui si abbia finora notizia, ma non dovrebbe essere la sola. Per ora, si sa che esso incapsulerà il nuovo motore Microsoft Edge Engine con un elevato livello di configurabilità. Il vecchio componente TWebBrowser sarà ancora presente e potrà anch’esso usare il nuovo motore, ma a un livello meno profondo.

Altre novità

Per conoscere le altre novita di Delphi 10.4, Embarcadero ha annunciat un o specifico Webinar per le 18.00 CEST del 27 maggio. Varrà la pena di seguirlo, perché le nuove funzionalità e gli aggiornamenti del linguaggio sembrano andare nella giusta direzione: se saranno implementate correttamente, senza nuovi bachi, potrebbero rappresentare un vero salto di qualità per Delphi Studio.


Queste informazioni si basano sulle notizie diffuse da Embarcadero Inc. e dai suoi collaboratori; le funzionalità effettivamente rilasciate potrebbero essere differenti da quelle presentate in questa sede. morandotti.it non è in alcun modo collegato con Embarcadero Inc.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *