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.
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.
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.
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.
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.
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.
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.
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.
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.
Gli articoli sulla filatelia tematica, vista da una prospettiva semantica e semiotica, sono elencati sotto…
Il paragone tra Gliwice e Grigoriopol è spontaneo; ma quanto è giustificato? Analizziamo i fatti…
Alcune considerazioni sulla comunicazione russa che ha preceduto il conflitto in Ucraina spingono al pessimismo.
Definire un'unità narrativa nella filatelia tematica può rendere lo sviluppo tematico più completo e coinvolgente,…
TplFmxClock è il nuovo componente per Delphi rilasciato come open source da morandotti.it. Si tratta…
Concludiamo la serie di articoli sulla filatelia tematica affrontando una delle sfide più urgenti: quella…