Delphi Day 2019 Piacenza Edition: il reportage
E’ passato un po’ di tempo dalla conclusione della edizione piacentina del Delphi Day 2019, la conferenza italiana dedicata agli sviluppatori Delphi, organizzata da Wintech Italia presso il Park Hotel di Piacenza, ma ho pensato che sarebbe stato comunque gradito un piccolo reportage, come è ormai di mia abitudine.
Gli sponsor
L’evento non avrebbe potuto avere luogo senza l’indispensabile apporto dei suoi sponsor: OSItalia e Technolog, assieme a TMS Software, Raize Software, Elevate Software e WPCubed, per finire con DevArt, Steema Software e Gnostice, che per l’occasione hanno offerto promozioni e sconti per l’acquisto dei propri prodotti a tutti i partecipanti.
I seminari
Come ogni anno, l’evento si articola in due giornate: una dedicata a seminari tecnici di approfondimento, l’altra dedicata alla conferenza vera e propria.
Tra le proposte di quest’anno, un corso completo sull’uso di Git a cura di Maurizio Del Magno: una trattazione del noto CVS distribuito, iniziando dalle basi fino alle operazioni più avanzate, rivolto a tutti coloro che guardano con diffidenza a questo sistema ma vorrebbero usarlo con maggiore fiducia e magari contribuire a qualche progetto open source su GitHub.

In alternativa, c’era la possibilità di approfondire i Design Pattern più efficaci con Delphi, tenuto da Primož Gabrijelčič, e i principi del Clean Code, curato da Bogdan Polak.
Meglio qualcosa di più pratico e meno teorico? Marco Mottadelli ha illustrato come inviare notifiche push dalle nostre applicazioni, illustrato da Marco Mottadelli, e la trasformazione in app native di applicazioni Web realizzate con ExtJS, con Luca Minuti.
Non si poteva ovviamente tralasciare l’argomento database, in particolare uno di quelli più utilizzati dagli sviluppatori Delphi: FireBird. Fabio Codebue ha proposto ben 68 modi per ottimizzarlo.
Che dire? I seminari sono sempre una garanzia di qualità, grazie al maggiore tempo per affrontare gli argomenti e la elevata capacità espositiva degli speaker, che hanno preparato il materiale con estrema cura, oserei dire al limite del maniacale. 😊
La conferenza
La giornata del giovedì è invece dedicata alla conferenza, ovvero al momento principale e più atteso dell’evento.

Il trend di partecipazione continua a essere positivo e sempre in crescita, con più di 100 sviluppatori presenti all’edizione di quest’anno!
Questa adesione è un piacevole e confortante segnale del fatto che la community Delphi si mantiene attiva e vitale, soprattutto se si includono nei numeri la partecipazione registrata nelle occasioni appena precedenti, come ITDevCon Spring Edition tenutasi a Roma, e l’inedita Spring4D Conference di Bergamo, della quale potete ascoltare una recensione audio in questo episodio di 🎧 Delphi Podcast.
Ad “aprire le danze” come sempre è Paolo Rossi, Embarcadero MVP e developer di Wintech Italia, con informazioni logistiche sulla conferenza, le statistiche delle passate, presenti e future edizioni, le offerte e i corsi di Wintech, le promo degli sponsor e così via.
Primo a intervenire, e “special guest” dell’evento, Marco Cantù – Product Manager di Delphi – che ha illustrato cosa bolle in pentola nelle cucine di Idera/Embarcadero a seguito del recente rilascio della roadmap aggiornata di Delphi e C++Builder, successivamente approfondita con maggiore dettaglio in questo articolo esteso.
Oltre all’inseguimento costante dei bug e la loro risoluzione per garantire un certo livello qualitativo del prodotto, gli sforzi di Embarcadero si concentreranno sul supporto 64-bit per macOS (ottenibile al momento solo aderendo al programma Beta), su nuovi wizard per RAD Server, su migliorie sulla RTL e piccole evoluzioni del linguaggio per quanto riguarda la versione in cantiere prossima all’uscita (10.3.2).
Più interessanti le novità previste per la versione successiva, la 10.4, che verrà rilasciata più tardi nel corso di questo anno, in particolare il supporto a LSP (Language Server Protocol), uno standard progettato da Microsoft per la comunicazione tra editor di codice, IDE e processi di analisi del codice sorgente, che porterebbe di fatto notevoli miglioramenti all’analisi del codice, grazie alla sua elaborazione “out of process” e non bloccante, con notevoli benefici alle feature di completamento del codice in termini di performance, quindi alle tecnologie Code Insight ed Error Insight che risentono particolarmente del loro attuale affidarsi a tecnologie superate (es. Together e .NET Framework). La tecnologia pare verrà prima integrata per C++, e ciò getterà le basi per supportarla anche sul linguaggio Delphi. Molto atteso e previsto per il tardo 2019 anche il supporto ad Android 64-bit.
Non mi dilungo ulteriormente sull’argomento poiché tutti i dettagli e gli approfondimenti sono presenti nella roadmap e nell’articolo di approfondimento segnalato.
Dopo il primo coffee break, il resto della conferenza è proseguito con diverse sessioni in parallelo, imponendo quindi una scelta sulla “track” da seguire.
Non ho visto la sessione di Primož Gabrijelčič sugli Enumerators ma sono certo sia stata eccezionale e tecnicamente interessante, avendone già avuto una anteprima alla Spring4D Conference di Bergamo. Purtroppo ero impegnato a condurre la mia sessione, “Alexa parla con Delphi!”, dedicata all’integrazione dei famigerati assistenti digitali – come Amazon Echo e Google Home – con un’applicazione realizzata in Delphi capace di ricevere le richieste “distillate” dai servizi vocali (Amazon Alexa, in questo caso) e rispondere nel modo appropriato, aprendo quindi logiche di business delle proprie applicazioni a questi nuovi scenari e dispositivi.
Potete trovare le slide e i sorgenti della mia sessione sul mio account GitHub e sul sito stesso della conferenza.

La mattinata è proseguita con la sessione di Olga Petrova, Sales Engineer di Sencha, che ha realizzato qualche demo live di ExtAngular, ExtReact ed ExtWebComponents, le librerie di componenti compatibili con React, Angular e la piattaforma dei Web Components per integrare i widget di ExtJS all’interno di applicazioni Web realizzate con questi noti framework. Grazie alla recente acquisizione di Sencha da parte di Idera, ci si aspettano nuove possibilità di integrazione tra queste librerie molto interessanti e Delphi.

La giornata è proseguita con ben tre sessioni in parallelo, rendendo ancora più difficile scegliere quale di queste seguire. 😊
Paolo Rossi ha parlato di alcuni tool opensource per Delphi recentemente pubblicati su GitHub, tra cui una libreria per la serializzazione JSON (Delphi Neon) e una per generare la documentazione delle proprie API REST usando lo standard OpenAPI, mutuato da Swagger e reso aperto.
Le altre due sessioni contemporanee hanno invece approfondito il lato database, con Fabio Codebue che ha parlato di replica dei dati con FireBird, una delle nuove feature della release 4.0 del noto database open source, e Sergio Govoni che ha approfondito Query Store, una feature di SQL Server che memorizza i piani di esecuzione delle query allo scopo di analizzare ed estrapolare dati dagli stessi per esigenze di tuning delle prestazioni.
Dopo il pranzo, il resto della giornata si è sviluppata su argomenti ancora più disparati, dall’uso di feature avanzate del linguaggio Delphi con Maurizio Del Magno, all’integrazione di Redis nei propri programmi, il più noto in-memory datastore, mostrato da Luca Minuti, per proseguire con le specifiche di creazione delle cosiddette PWA (Progressive Web Apps), con Paolo Rossi e di nuovo Luca Minuti, e per finire la modernizzazione di progetti VCL spiegata in inglese da Bogdan Polak e la costruzione di plugin crittografici per FireBird a cura di Fabio Codebue.
A mio avviso, si è trattato di una delle più ricche edizioni di sempre, con una vastità e varietà di argomenti e speaker mai viste, a testimonianza del fatto che – qualora fosse necessario ribadirlo – con Delphi è possibile realizzare di tutto, spesso più e meglio di quanto ci si può aspettare. 😉

Arrivederci a novembre con l’edizione padovana del Delphi Day 2019! 🙂
Argomenti e stile anni 80…. qualcosa di più moderno no?
Caro Arturo, che vuoi farci: sono un nostalgico. Soprattutto delle cose che funzionano.