reportage "rad studio xe2 world tour"

11
Reportage Reportage “RAD Studio XE2 “RAD Studio XE2 World Tour” World Tour” di di Marco Breveglieri Marco Breveglieri Pubblicato il 07/10/11

Upload: marco-breveglieri

Post on 18-Nov-2014

1.765 views

Category:

Technology


3 download

DESCRIPTION

Tra le varie tappe internazionali, il “RAD Studio XE2 World Tour” ha toccato anche l'Italia, precisamente Milano il 21 settembre e Roma il giorno successivo. Le novità introdotte in questa versione del tool di sviluppo sono davvero tante, motivo per cui ho pensato di redigere questo reportage per elencare quelle che – a livello personale e soggettivo – ritengo le innovazioni più interessanti e degne di nota, e magari sciogliere qualche dubbio a coloro che non hanno potuto partecipare, raccontando gli avvenimenti della giornata di presentazione.

TRANSCRIPT

Page 1: Reportage "RAD Studio XE2 World Tour"

Reportage Reportage “RAD Studio XE2“RAD Studio XE2 World Tour”World Tour”

di di Marco BreveglieriMarco Breveglieri

Pubblicato il 07/10/11

Page 2: Reportage "RAD Studio XE2 World Tour"

IntroduzioneAl momento in cui scrivo, Embarcadero ha concluso da alcuni giorni il suo tour per mostrare in giro il mondo la nuova versione di Delphi, o meglio di RAD Studio: XE2.

Tra le varie tappe internazionali, il “RAD Studio XE2 World Tour” ha toccato anche l'Italia, precisamente Milano il 21 settembre e Roma il giorno successivo.

Le novità introdotte in questa versione del tool di sviluppo sono davvero tante, motivo per cui ho pensato di redigere questo reportage per elencare quelle che – a livello personale e soggettivo – ritengo le innovazioni più interessanti e degne di nota, e magari sciogliere qualche dubbio a coloro che non hanno potuto partecipare, raccontando gli avvenimenti della giornata di presentazione.

Il rilascio di XE2 ha senz'altro ravvivato l'interesse di molti sviluppatori: la presentazione a cui ho assistito è quella tenutasi a Milano, che ha visto la presenza di oltre 200 persone, a cui si aggiungono circa altri 100 sviluppatori che hanno partecipato all'appuntamento di Roma previsto per il giorno dopo.

OpeningLa presentazione di Milano si è aperta con il benvenuto di Fabrizio Bitti (bitTime Software, rappresentanza italiana di Embarcadero), che ha introdotto la numerosa platea ai contenuti della giornata e ha preannunciato alcuni eventi imminenti rivolti in modo particolare agli sviluppatori Delphi.

In una battuta ironica, ma reale, Fabrizio ha definito XE2 come «la migliore versione di sempre», grazie a tutte le nuove feature presentate di lì a breve.

Fabrizio ha ricordato inoltre la possibilità, introdotta di recente da Embarcadero, di conseguire la Delphi Certification, disponibile nei livelli Developer (che può essere ottenuta online ed è in offerta gratuitamente per chi acquista una licenza) e Master (che invece richiede la propria presenza fisica presso un centro di formazione autorizzato). Maggiori informazioni a riguardo si possono trovare alla pagina ufficiale sul sito Embarcadero (http://www.embarcadero.com/certification).

A fine ottobre si terrà inoltre ITDevCon, la terza edizione della European Delphi Conference italiana, con diverse sessioni (di durata più lunga rispetto al passato) organizzati in più “track” tematiche, e senz'altro XE2 sarà uno dei protagonisti principali. Tutte le

informazioni sull'evento, che avrà luogo a Verona il 27/28 ottobre, si trovano sul sito ufficiale (http://www.itdevcon.it).

Pubblicato il 07/10/11

Page 3: Reportage "RAD Studio XE2 World Tour"

Dopo aver preannunciato la disponibilità in palio di una licenza premio di RAD Studio Architect sorteggiata tra i partecipanti al termine della giornata, Fabrizio ha “passato la palla” a Jason Vokes, Director of Technologies and Marketing presso Embarcadero, per il “keynote” iniziale.

Jason Vokes: KeynoteJason Vokes ha iniziato il “keynote” illustrando gli obiettivi prefissati nella realizzazione di XE2: portare RAD Studio a raggiungere la maggior parte delle piattaforme attive ad oggi.

Con XE2 è possibile produrre veloci applicazioni native non solo per Windows, ma anche per Mac OSX, per il Web e per le piattaforme Mobile, con l'opportunità di scrivere la propria applicazione una sola volta e compilarla su diverse piattaforme e su più dispositivi (come smartphone e tablet) di uso quotidiano.

Esistono parecchi linguaggi che consentono di sviluppare applicazioni crossplatform, ma pochi possono contare su una gamma di funzionalità RAD pari a quelle fornite dall'ambiente Delphi, data rich e component based.

Nonostante l'ambiente fornisca tool per lo sviluppo rapido di applicazioni, come per le versioni precedenti, anche XE2 consente di scendere nei dettagli architetturali della piattaforma (come avviene con l'uso delle API, delle strutture, dei tipi di dati dei messaggi Windows nella VCL) pur senza rimanere necessariamente legati ad essi. Per dirla con le parole di Jason, «you can get down to the metal, without being tied to it».

I programmi ottenuti con XE2 hanno sempre le eccellenti performance tipiche che ci si aspetta dalle applicazioni native prodotte dai compilatori Delphi e C++.

A proposito della VCL, è stata introdotta la possibilità di compilare applicazioni a 64 bit per Windows e il supporto ai VCL Styles, un sistema che consente di gestire diversi stili grafici per i principali controlli visuali delle applicazioni, rendendole più moderne e accattivanti. Di queste nuove caratteristiche della libreria VCL si parlerà in dettaglio, con dimostrazioni ed esempi pratici, nelle sessioni successive.

La novità più interessante, che ha suscitato un discreto “rumore” sin da prima dell'inizio del “world tour” di Embarcader, è l'avvento di FireMonkey, definita come la piattaforma per applicazioni business della prossima generazione. Si tratta di una libreria grafica vettoriale che permette di creare applicazioni 2D (dette anche “HD”, da High Definition) e 3D.

Le applicazioni realizzate con FireMonkey (spesso abbreviato con FMX) sono native e sfruttano la potenza e le prestazioni messe a disposizione delle attuali GPU.

La libreria mette a disposizione una suite completa di controlli visuali per lo sviluppo delle applicazioni. I controlli visuali della libreria sono inoltre componibili: ciascun controllo può essere inserito all'interno di un altro, realizzando architetture UI difficili e complesse da ottenere con l'attuale VCL, ad esempio introducendo elementi di tipo eterogeneo, come pulsanti e caselle di testo, all'interno di una ListBox. La gamma dei controlli a disposizione è particolarmente ricca se confrontata con la dotazione di base di altre librerie simili, come WPF (Windows Presentation Foundation), ma tramite la loro composizione è possibile ottenere una serie pressoché infinita di combinazioni di controlli più avanzati.

Page 4: Reportage "RAD Studio XE2 World Tour"

Qualsiasi elemento grafico di FireMonkey, la cui gestione viene affidata alla GPU lasciando molto più scarica e disimpegnata la CPU, è vettoriale: le dimensioni, le posizioni e gli effetti applicati scalano correttamente applicando uno zoom e hanno bordi sempre definiti. A proposito di effetti, la libreria FireMonkey include una pletora di componenti pronti all'uso in grado di fornire animazioni, trasformazioni, filtri, applicabili a qualsiasi controllo grafico relativamente a proprietà quali posizione, dimensioni e contenuti a seconda dei casi, senza la necessità di scrivere nemmeno una riga di codice. Con FireMonkey, usando le parole di Jason, «you can build the app of your dreams».

Ma le novità introdotte da XE2 non si fermano alla sfera grafica: grazie al potenziamento della libreria dbExpress (che ora include anche un driver ODBC), dell'architettura DataSnap ancora più funzionale, all'introduzione della tecnologia LiveBindings (di cui si parlerà in seguito), XE2 garantisce possibilità illimitate di connettività a qualsiasi database e data service, anche di propria produzione, non solo per la VCL ma anche per FireMonkey, approdando su altre piattaforme e consentendo quindi di creare applicazioni che si connettono sempre e ovunque a qualsiasi origine dati. XE2 include inoltre nuovi strumenti per lo sviluppo di applicazioni multitier e consente di generare proxy nativi (detti “connector”) dei vostri server DataSnap per la maggior parte dei linguaggi esistenti (Delphi, C++, JavaScript, Java, Android, Objective-C), pronti per essere importati all'interno dei progetti realizzati con questi linguaggi, da voi o da altri collaboratori.

Infine, Jason ha presentato le nuove caratteristiche di RadPHP, il tool per lo sviluppo di applicazioni Web in RAD Studio XE2, che include nuovi componenti dedicati al mondo mobile e l'integrazione con PhoneGap, uno strumento che consente di portare applicazioni Web (basate quindi sugli standard HTML, JavaScript e CSS) all'interno di dispositivi mobili come iPhone e Android ed eseguire - come se fossero native – le applicazioni con pieno accesso all'API e alle risorse del dispositivo, come il GPS o la fotocamera, per intenderci.

Infine, Jason ha sottolineato anche il valore aggiunto dai numerosi componenti di terze parti, che arricchiscono ulteriormente le opportunità offerte dai tool e dalle librerie della suite.

Marco Cantù: FireMonkeyNella sessione successiva, Marco Cantù ha approfondito dal punto di vista tecnico, aiutandosi con alcuni demo autoprodotti, le caratteristiche della nuova libreria “FireMonkey”.

Come già detto, FireMonkey è una nuova libreria per lo sviluppo di applicazioni che, a differenza della VCL, non è simbiotica con Windows; ha parecchie somiglianze con altre librerie anch'esse conosciute quali WPF (Windows Presentation Framework) e il fratello minore Silverlight, oppure Adobe Flex, ma FireMonkey è nativa e compilata,

è crossplatform e viene fornita con sorgenti, a differenza della concorrenza.

La libreria è “GPU powered”: tutta la gestione grafica avviene senza consumare CPU (e questo è facilmente riscontrabile scaricando i numerosi demo a disposizione, compilandoli e lanciandone più istanze contemporaneamente, monitorando l'uso della CPU con il Task Manager).

Page 5: Reportage "RAD Studio XE2 World Tour"

I wizard disponibili consentono di creare nuovi progetti di applicazioni 2D (o HD) e 3D, ma le due modalità grafiche non sono in mutua esclusione: è possibile integrare contenuti 2D in applicazioni 3D, e viceversa, utilizzando appositi pannelli.

FireMonkey è una libreria astratta: gli elementi visuali non sono wrapper dei controlli di Windows, non fanno riferimento a handle di alcun tipo, ma vengono completamente disegnati nelle loro parti costituenti, e quindi sono indipendenti da qualsiasi piattaforma specifica, pur consentendo – grazie al supporto degli stili – di adottare il “look & feel” del sistema di riferimento.

FireMonkey è una libreria nativa e compilata: le applicazioni sono eseguibili senza bisogno di runtime di supporto, senza dipendenze e senza vincoli sulla piattaforma di destinazione scelta (caratteristiche che la rendono ottimale soprattutto sui dispositivi mobili), e sono in grado di adattarsi e sfruttare le risorse grafiche messe a disposizione dalla libreria GPU presente (OpenGL, DirectX, Quartz e altre).

Cantù ha successivamente creato un'applicazione dimostrativa usando l'apposito wizard per mostrare alla platea alcune delle peculiarità di Firemonkey, soprattutto laddove vi sono diversità rispetto alla libreria VCL che tutti conosciamo.

Innanzitutto, ciascun controllo – partendo dal più banale e semplice dei pulsanti, ad esempio – in realtà è composto da diversi elementi grafici, quali il rettangolo che ne costituisce il bordo, il testo contenuto al suo interno, la sfumatura del colore di riempimento e gli effetti applicati al passaggio del mouse sull'area del controllo; da qui si comprende la vera potenza della libreria in termini di manipolazione e complessità delle interfacce utente che si possono costruire, potendo comporre liberamente tra di loro tutti gli elementi grafici, partendo da quelli primitivi sino ad arrivare a quelli più complessi forniti “di serie”, in modi assolutamente inarrivabili - se non con pratiche complicatissime di subclassing e custom drawing estremo – con la libreria VCL.

In FireMonkey, le proprietà che determinano la posizione e la dimensione dei controlli sono espresse con valori in virgola mobile, e non interi, a cui si aggiungono ulteriori proprietà quali la rotazione e, nel caso del 3D, la profondità. Tutti i controlli che compongono l'interfaccia utente, inoltre, sono perfettamente scalabili e “zoomabili” senza perdere minimamente qualità visiva, mantenendo eccezionali effetti di antialiasing nei bordi e sfumature all'interno dei controlli, senza alcuno sforzo (da qui la definizione di applicazioni HD, da High Definition).

Rispetto allo sviluppo con la libreria VCL, viene mantenuta la “logica Delphi” a cui siamo abituati con l'utilizzo dei tipi e delle funzioni della RTL (Run Time Library) e gran parte dei componenti, tra cui quelli per l'accesso ai dati; ciò che cambia completamente è la famiglia dei controlli visuali adottata per creare l'interfaccia utente (UI).

Qualsiasi elemento di FireMonkey, che sia separato o incluso in una composizione, può essere “stilizzato”: esiste una finestra integrata nell'IDE che consente di personalizzare tutti gli stili della propria applicazione e di crearne di nuovi, applicandoli agli elementi dell'interfaccia utente.

Per quanto riguarda l'accesso ai dati, è LiveBindings a venire in soccorso dello sviluppatore: si tratta di un sistema basato su espressioni che permette di correlare due oggetti tra loro, o meglio le loro proprietà. Di questa nuova risorsa, fruibile anche nelle applicazioni VCL, si parlerà in modo approfondito nella sessione seguente. Per il momento, è sufficiente sottolineare che, attraverso l'uso di componenti dedicati che semplificano il lavoro, il collegamento ai dati (data binding) all'interno di un'applicazione FireMonkey è facile tanto quanto quello tradizionale, se non di più.

Infine, è stato mostrato il demo di un'applicazione 3D realizzata con FireMonkey. Anche se

Page 6: Reportage "RAD Studio XE2 World Tour"

l'uso del 3D può apparire come adatto esclusivamente a tipi molto particolari e settoriali di applicazioni, in realtà il suo utilizzo permette di ottenere effetti ben difficilmente riproducibili in 2D. Si pensi alla visualizzazione consecutiva di immagini differenti e al diverso effetto che si può ottenere passando da un'immagine all'altra con una rotazione rispetto al cambio repentino che si ottiene con un normale controllo TImage della VCL.

Per concludere, una precisazione doverosa fatta da Marco e Jason in merito al “destino” della libreria VCL. Come ha detto Jason, «VCL is here to stay»: la libreria FireMonkey non va intesa come un rimpiazzo della VCL, né come l'intenzione di abbandonare quest'ultima, che continuerà ad essere supportata fino a quando esisterà la piattaforma nativa Windows su cui si basa, tant'è vero che in XE2 sono state aggiunte interessanti feature alla VCL, anch'esse tra i temi della giornata. Ciò che si può effettivamente dire è che con FireMonkey si aprono nuovi scenari, l'approdo a nuovi tipi di piattaforme e dispositivi, sia nel presente che nel futuro e la possibilità di concepire e realizzare interfacce utente di nuova generazione.

Daniele Teti: supporto a 64 bit e “VCL Styles”La sessione successiva, tenuta da Daniele Teti, si è concentrata su quella che fino a pochi giorni prima era considerata la feature principale, la più annunciata e la più attesa da molti sviluppatori, anche se l'arrivo di FireMonkey le ha lecitamente sottratto un po' di curiosità: il supporto a Windows 64 bit.

Nella maggior parte dei casi, attivare il supporto alla piattaforma 64 bit in un progetto Delphi è un'operazione semplicissima: è sufficiente fare clic con il tasto destro su Target Platforms nella finestra del Project Manager, scegliere “64-bit Windows” nella finestra di dialogo che viene mostrata e ricompilare l'applicazione.

Tuttavia, come è avvenuto nel precedente passaggio a Unicode con Delphi 2009, vi sono trabocchetti e situazioni dove è necessario un intervento di modifica del codice affinché il codice sorgente si compili e funzioni correttamente.

Non ripetero qui tutti i dettagli delle operazioni da seguire, delle cose che cambiano e di quelle che rimangono uguali nel passaggio da Win32 a Win64, per cui mi limito ad alcune osservazioni della presentazione degne di nota, rimandando al sito ufficiale di Embarcadero per l'approfondimento dei dettagli, nella sezione appositamente dedicata ai 64 bit (http://www.embarcadero.com/products/delphi/64-bit).

Il supporto a Windows 64 bit è stato introdotto per la VCL ma è disponibile – ovviamente – anche per FireMonkey, assieme al supporto per Win32 e a quello per Mac OSX e iOS.

Per la libreria VCL, XE2 propone un'altra nuova e interessante feature. Sino a ieri, applicare stili grafici a un'applicazione VCL era possibile esclusivamente tramite componenti di terze parti oppure attraverso complicati “workaround”. Oggi questo non è più necessario, poiché la libreria VCL dispone di un supporto standard a stili personalizzati (custom), denominato VCL Styles.

Il nuovo sistema di supporto ai temi sostituisce il precedente sistema (incentrato solo sul “look & feel” di Windows) introducendo un engine configurabile che permette di applicare stili ai controlli visuali (nella gerarchia VCL, a partire dalla classe TGraphicControl), con sole

Page 7: Reportage "RAD Studio XE2 World Tour"

poche eccezioni, come i menu di popup, i “Ribbon Controls” e le finestre di dialogo fornite dal sistema operativo.

Nella finestra delle opzioni del progetto è disponibile una nuova voce, “Appearance”, che consente di selezionare un tema fra quelli disponibili e forniti assieme al prodotto, a cui se ne possono aggiungere altri creati ex novo.

Tramite un tool integrato nell'IDE, VCL Style Designer, è possibile andare a definire l'aspetto dei controlli con una precisione chirurgica, con l'opportunità di esportare una immagine pronta all'uso che contiene la rappresentazione grafica dei controlli e che può essere modificata attraverso un programma grafico esterno (es. Photoshop) e reimportata per creare una gamma infinita di nuovi stili, in grado di dare un aspetto del tutto rinnovato e accattivante all'applicazione.

Esistono poi classi specifiche che consentono di accedere e caricare a runtime diversi temi; in questo modo, all'occorrenza, si può decidere di creare e distribuire un'applicazione che supporta diversi stili grafici selezionabili a piacimento da parte dell'utente finale.

Anche la libreria RTL ha visto l'introduzione di novità in XE: sono presenti nuove classi, come TOSVersion (che fornisce informazioni dettagliate sull'ambiente operativo in cui viene eseguita l'applicazione, molto utile nell'ambito crossplatform), TLoginCredentialService (un sistema astratto di gestione delle credenziali), TZipFile (una classe per la gestione di file ZIP, che ha la peculiarità di essere anch'essa crossplatform) e altre ancora.

Daniele Teti: LiveBindingsA seguire, la presentazione di Daniele Teti dedicata interamente a una delle novità più interessanti di XE2: LiveBindings.

LiveBindings è una tecnologia fruibile sia nelle applicazioni VCL sia in quelle basate su FireMonkey.

Ma che cos'è esattamente? Si tratta di una feature che si basa su espressioni relazionali, chiamate binding expression, che mettono in comunicazione tra loro oggetti, oppure componenti.

Ad esempio, tramite LiveBindings è possibile definire un'espressione che collega due controlli visuali, una casella di testo (TEdit) a un'etichetta (TLabel), in modo che al variare del testo inserito nella casella l'etichetta venga automaticamente aggiornata con il valore presente nella casella. Ciò avviene aggiungendo la chiamata a un semplice metodo, Notify(), quando varia il contenuto nella casella di testo, affinché Delphi possa ricalcolare il valore dell'espressione e aggiornare il controllo di destinazione, cioè l'etichetta.

Ovviamente, questo è solo un esempio – forse il più semplice – del meccanismo di funzionamento di LiveBindings, ma le possibilità offerte da questo nuovo sistema integrato in Delphi sono ben più ampie. E' possibile collegare controlli a un database o a un'altra origine dati, utilizzando i componenti preposti a questo scopo.

In generale, LiveBindings mette a disposizione diversi componenti che consentono nella sostanza di definire espressioni a designtime affinché vengano valutate a runtime.

Page 8: Reportage "RAD Studio XE2 World Tour"

L'impossibilità di risolvere un'espressione a runtime da luogo a un'eccezione.

L'introduzione di LiveBindings, oltre a rappresentare un efficace meccanismo di data binding in FireMonkey (dove non sono presenti controlli specificatamente data aware), apre nuovi scenari alle nostre applicazioni, poiché le espressioni possono rappresentare una parte consistente di business logic. Si pensi ad esempio a una maschera che effettua il calcolo del prezzo di più prodotti moltiplicato per la loro quantità e il totale complessivo: con LiveBindings si potrebbero introdurre tutte le espressioni che correlano i valori mostrati e sarebbe sufficiente informare il sistema del cambiamento di uno o più valori per calcolare e aggiornare automaticamente gli altri e mostrarli a video, analogamente a quanto avviene in un foglio elettronico. Oppure ancora, tali espressioni potrebbero essere caricate a runtime da un file esterno, offrendo opportunità di personalizzazione interessanti alle applicazioni di tipo gestionale e affini, personalizzabili anche dall'utente finale, o in strumenti dedicati al test.

Marco Cantù: RAD Cloud API e novità di DataSnapCome nell'edizione precedente, XE2 include i componenti per l'accesso ai servizi cloud, che forniscono applicazioni e dati on demand (al consumo), come Microsoft Azure (http://www.microsoft.com/windowsazure) o Amazon Web Services (http://aws.amazon.com).

La novità in termini di connettività al cloud, presentata da Cantù, risiede nell'introduzione di una serie di classi comuni che consentono di astrarre le operazioni che possono essere eseguite sul cloud, indipendentemente dal tipo di service effettivo a cui ci si collega: tali classi costituiscono la nuova “RAD Cloud API”.

Attraverso questa API, è possibile creare applicazioni basate sul cloud rimandando la scelta dello “storage” effettivo a un secondo momento, quindi astraendolo nel corso dello sviluppo.

Embarcadero ha introdotto inoltre un tool per il debug su cloud e per il deploy remotizzato delle applicazioni, che consente di gestire anche il rilascio di risorse e dei driver utilizzati.

Queste feature, non presenti in altri ambienti di sviluppo, rendono XE2 un tool particolarmente innovativo dal punto di vista del supporto al cloud, per estensione delle piattaforme supportate, delle librerie e più in generale degli strumenti a disposizione.

Nell'ambito delle architetture multitier, anche DataSnap è stato potenziato con l'introduzione del supporto al monitoraggio e controllo delle connessioni TCP, molto utili in fase di

diagnostica di possibili problemi e di amministrazione del server, che sfrutta una nuova gestione irrobustita delle connessioni, a cui si aggiunge la possibilità di attivare un meccanismo keep-alive, di sfruttare nuovi filtri per encryption e security, di sfruttare un Session Manager più evoluto e un supporto a JSON migliorato rispetto alla versione precedente. DataSnap introduce inoltre i DataSnap Mobile Connectors, trattati ampiamente nella sessione successiva.

Page 9: Reportage "RAD Studio XE2 World Tour"

Daniele Teti: DataSnap Mobile ConnectorsAlle funzionalità migliorate ed estese di DataSnap è stato affiancato un insieme di generatori di proxy, specificatamente rivolto alle piattaforme mobile, in grado di produrre il codice di una classe proxy del proprio server DataSnap personalizzato nei linguaggi più diffusi (ad esempio, Objective-C per iOS, C# per Windows Phone 7 Silverlight, Java per Android e Blackberry).

Con il supporto del componente DSProxyDispatcher e del tool “Win32ProxyDownloader”, richiamato con parametri specifici (che definiscono le “coordinate” per l'accesso al server DataSnap e il linguaggio di destinazione), è possibile creare una cartella che conterrà i file sorgenti ed eventuali runtime pronti ad essere utilizzati direttamente nello sviluppo dell'applicazione con uno degli ambienti e dei linguaggi di programmazione elencati sopra.

A mio parere, si tratta di una feature di estrema utilità per chi sviluppa tradizionalmente logiche server in Delphi ma adotta anche altri ambienti e linguaggi per la creazione di applicazioni su dispositivi mobili (ad esempio, per coloro che utilizzano Eclipse con Android SDK per lo sviluppo di programmi sui dispositivi che montano il noto e sempre più diffuso sistema operativo Google), facilitando ulteriormente l'integrazione di Delphi con altre tecnologie, prodotti, librerie e framework esistenti, quindi valorizzando ancora di più il proprio server nativo DataSnap.

Per illustrare il funzionamento dei proxy generator, i presenti dotati di smartphone Android hanno partecipato alla dimostrazione scaricando “CompanyTweet”, un'applicazione che invia messaggi brevi, simili a “tweet”, a un server DataSnap in grado di raccoglierli e mostrarli su grande schermo. La presentazione si è conclusa con un “feedback vibrante” inviato dal server DataSnap a tutti i cellulari connessi.

ConclusioneLa giornata di presentazione, davvero ricca di contenuti, si è conclusa con il consueto “giro” di domande e risposte finali, premiate con simpatici gadget (una maglietta e un portachiavi targate “FireMonkey”). Molti quesiti sono stati particolarmente specifici e riferiti a esigenze estremamente soggettive, quindi riporto solamente quelli che, a mio avviso, hanno riguardato interessi di carattere più generale.

Un paio di domande hanno sondato le tempistiche previste per il rilascio di compilatori per Linux e Android: Jason Vokes ha risposto che l'intenzione di abbracciare queste piattaforme c'è, con particolare riferimento ad Android, ma al momento non vi sono date certe della loro disponibilità.

Altri partecipanti hanno espresso preoccupazioni in merito al destino della VCL a fronte dell'avvento di FireMonkey, senza usare mezze parole: «la VCL farà una brutta fine?». La risposta di Jason è stata negativa, in quanto la piattaforma a cui fa riferimento la libreria VCL (cioè la Windows API in generale, a 32 e 64 bit) esiste e continuerà ad esistere ancora per parecchi anni.

Page 10: Reportage "RAD Studio XE2 World Tour"

FireMonkey è semplicemente la proposta a disposizione di coloro che vogliono espandere il business delle proprie applicazioni.

Altri sviluppatori hanno chiesto chiarimento in merito allo stato dei tool di reportistica presenti in XE2. In questo senso, ci sono delle interessanti novità: oltre alla presenza del classico RAVE Reports, che rimpiazza da anni il precedente QuickReport, all'interno del tool di sviluppo è inclusa anche una versione di FastReport VCL, assieme a tutti gli altri tool di terze parti già introdotti nella linea XE, come AQTime, Beyond Compare, CodeSite, FinalBuilder, per citarne alcuni tra quelli più coinvolti nell'uso quotidiano dell'ambiente di sviluppo.

Considerazioni finaliAggiungo alcune considerazioni del tutto personali alla giornata di presentazione e ai suoi contenuti.

Innanzitutto, ritengo un fatto assolutamente positivo, sia per il prodotto sia per la sua community di sviluppatori, tutte le novità che Embarcadero ha inserito in questa nuova release: finalmente Delphi torna a far parlare di sé e fornisce agli sviluppatori che decidono di utilizzarlo nuove e importanti argomentazioni per giustificare la propria scelta, aumentando le caratteristiche già peculiari del prodotto e “strizzando l'occhio” (in modo abbastanza energico, per la verità) a nuove piattaforme a cui è possibile espandere il proprio mercato.

Dopo alcuni anni di (relativa) stagnazione, intesa come mancanza di novità eclatanti (probabilmente causata dalla migrazione faticosa da Borland a CodeGear, poi a Embarcadero) finalmente si inizia a vedere e toccare con mano il frutto degli investimenti dichiarati in ogni sede.

Il rilascio di questa versione ha prodotto inoltre parecchio fermento tra i blogger abituali che espongono quotidianamente le proprie esperienze di sviluppo con Delphi, a cui se ne sono aggiunti tanti altri che hanno iniziato a produrre articoli di sicuro interesse raccontando i risultati delle proprie ricerche sulle nuove caratteristiche di XE2, o per avanzare le prime critiche costruttive a difetti riscontrati o a integrazioni che ritengono indispensabili. Nuovi gruppi si sono poi formati su vari social network, ad esempio su Facebook, per discutere delle novità o per cercare aiuto immediato, in attesa di vedere pubblicata nuova manualistica e documentazione per poter apprendere in modo più “accademico” il funzionamento dei tool messi a disposizione dalla nuova release. Persino i vetusti “newsgroup” hanno ripreso a discutere maggiormente rispetto al passato.

In conclusione, XE2 si rileva un'ottima release in grado di risvegliare l'interesse di coloro che lavorano con Delphi, e magari “costringere” qualcuno a migrare finalmente dal proprio Delphi 7; oltre a questo, XE2 ha senz'altro tutte le carte in regola per cominciare a incuriosire e attrarre anche quelli che utilizzano abitualmente altri tool di sviluppo , soprattutto laddove questo avviene per una sorta di “pregiudizio disinformato” nei confronti di Delphi, del suo linguaggio e delle potenzialità di tutto rispetto che invece è in grado di offrire.

Lunga vita a Delphi! (da oggi, non più solo su Windows)

Page 11: Reportage "RAD Studio XE2 World Tour"

Informazioni sull'autore

Marco BreveglieriMarco BreveglieriSoftware & Web Developer

Sono responsabile legale di ABLS Team, un’azienda di consulenza informatica che si occupa di sviluppo software, realizzazione di siti Web, corsi su linguaggi di programmazione e tecnologie correlate, installazione e configurazione di reti aziendali, networking, Office Automation e altri servizi informatici rivolti ad aziende e utenti finali.

Io mi occupo in modo particolare dello sviluppo di software per Microsoft Windows e .NET Framework, della creazione e design di siti Web e dell’organizzazione di corsi di programmazione (principalmente su Delphi e C#/VB.NET).

Per contattarmi, www.marco.breveglieri.name

RingraziamentiSi ringrazia Paolo Rossi per le fotografie.