ITDevCon 2013: impressioni e commenti a caldo

Articolo - ITDevCon 2013: commenti a caldoSi è appena conclusa l’edizione 2013 di ITDevCon, la conferenza Delphi europea giunta (in ottima forma) al suo quinto compleanno.

Questa edizione ha visto tra i partecipanti una discreta presenza di non italiani (nella misura del 60% circa, se non ricordo male): molti degli speech disponibili in italiano o in inglese si sono tenuti in quest’ultima lingua, in modo da essere accessibili a una platea più ampia.

Dal punto di vista tecnico-mediatico, sono state abbandonate le riprese individuali dei singoli speech, sostituite da uno streaming in diretta live su YouTube per gli eventi che si sono tenuti nella sala principale.

Per il resto, tutto si è svolto secondo l’ormai collaudato programma organizzativo della conferenza, e invariata è rimasta la location, l’hotel CTC di Verona, a mio avviso sempre ottimo sia per i momenti specifici della conferenza sia per l’accoglienza della camera (in cui rifugiarsi per sistemare le slide :D).

I contenuti di questa edizione si sono concentrati – come era immaginabile – sulle novità che hanno interessato Delphi nel corso di quest’anno, in primis il rilascio di XE5 con il supporto per Android; tuttavia, lo sviluppo su iOS e Android non ha monopolizzato la gamma dei temi trattati, bensì ha fornito uno slancio per approfondire metodologie, tecniche e nuovi tool che hanno a che vedere anche con il mobile, ma portano vantaggi pure nel “tradizionale” sviluppo desktop per Windows o Mac OSX.

Jeroen Pluimers ha illustrato in modo approfondito l’uso del pattern MVVM, una tecnica che ora diviene particolarmente importante poiché consente di centralizzare la logica che gestisce il funzionamento dell’interfaccia utente, rendendola indipendente da quest’ultima e dalla piattaforma utilizzata, favorendone anche il test automatizzato, generalmente poco applicabile alle interfacce utente a cui gli sviluppatori Delphi danno spesso più responsabilità (in termini di “business logic”) del necessario.

Oltre all’uso di pattern specifici, la nuova RTTI avanzata di Delphi (giunta ora a completa maturazione) ha aperto il linguaggio a nuove possibilità, favorendo ad esempio le tecniche di “meta-programming” tramite l’uso di attributi (spiegate in dettaglio nel talk di Primož Gabrijelčič) e il fiorire di nuovi tool di terze parti, spesso gratuiti, come Spring4D (a cui sono stati dedicati due talk specifici di approfondimento “a puntate”, e che ho citato anche nel mio talk parlando di dependency injection), DelphiMocks (illustrato nel mio talk, per creare automaticamente “stub” e “mock” per Unit Test).

Si è parlato anche di soluzioni per l’accesso ai dati, con una presentazione introduttiva di Daniele Teti su dORM, un ORM maturo e stabile per Delphi, che presenta caratteristiche peculiari e non presenti in prodotti concorrenti e per altri linguaggi, come la possibilità di persistere qualsiasi oggetto senza dover ereditare da una classe specifica. Sempre sul tema dell’accesso ai dati, io ho tenuto un talk sui database NoSQL, una trattazione che spero abbia soddisfatto la stessa curiosità che ho avuto io la prima volta che ho sentito parlare di questa particolare tipologia di sistemi, nata con il Web e tornata in auge con la capillare diffusione di dispositivi in grado di connettersi (quasi) ovunque e in ogni momento a servizi online, che devono essere “pronti” e veloci nella risposta.

Il recente approdo di Delphi su piattaforme mobile quali iOS e Android, grazie all’intermediazione del compilatore LLVM, ha probabilmente risvegliato l’interesse degli sviluppatori verso altri dispositivi emergenti diversi da smartphone e tablet; ad esempio, particolarmente gremita l’audience che ha ascoltato lo speech di Andrea Magni su RaspberryPi, un “mini PC” basato su ARM completo ed estremamente espandibile, delle dimensioni di una carta di credito e del bassissimo costo, preceduto dallo speech di Christian Budde sulla programmazione di sistemi embedded e microcontroller, senza escludere il demo interattivo di Detlef Overbeek (Editor di Blaise Pascal Magazine) sull’interfaccia LEAP Motion, che permette di controllare applicazioni tramite gesture della mano.

Non sono mancate novità per quanto riguarda il supporto Delphi alle piattaforma Web e alle tecnologie che ne fanno parte. La crescente diffusione dei servizi basati su RESTful API ha ricevuto una efficace risposta da parte di Embarcadero, che ha integrato in XE5 la nuova libreria REST API Client, un set di componenti che semplificano in modo estremo l’accesso a questo tipo di servizi, approfondita nel talk di Marco Cantù (Delphi Product Manager), e ne ho fatto uso io stesso nella sessione dedicata ai database NoSQL per colloquiare con il servizio RESTful di CouchDB (anche a designtime!). Daniele Teti ha presentato DelphiMVCFramework, una libreria che “avvolge” il server HTTP Delphi e fornisce l’architettura necessaria per trasformarlo in un server Web RESTful basato sul pattern MVC che può essere utilizzato da qualsiasi client, scritto in qualsiasi linguaggio, comprese le applicazioni HTML “single page” eseguite nel browser basate su librerie JavaScript note come AngularJS, che forniscono una moderna interfaccia lato client interagendo con l’API REST, come hanno mostrato Luca Giacalone e Debora Mizzoni nel talk dedicato.

Come diceva un noto spot pubblicitario, “la potenza è nulla senza il controllo”: non sono mancati approfondimenti sul tema della profilazione delle applicazioni (per individuare “colli di bottiglia” e migliorare le performance) e sulla Continuous Integration, per rendere lineare la catena di montaggio del software, dal build al rilascio in produzione.

Questo è ovviamente un riassunto sintetico, parziale e sicuramente non esaustivo di tutti gli argomenti affrontati nel corso delle due giornate. Per leggere commenti e foto scattate durante l’evento, potete consultare questa ricerca su Twitter

Complimenti ancora a tutti i ragazzi e ragazze dello staff di bitTime Software per la riuscita dell’evento e per l’impegno profuso nell’iniziativa, perfettamente visibile nei visi tra lo stanco e il soddisfatto del venerdì sera, per la gamma delle tematiche trattate, e ai partecipanti, colleghi e collaboratori che ho avuto modo di conoscere e con cui ho scambiato pareri, opinioni e chiacchiere.

Arrivederci al prossimo anno!