Microsoft Days08 @ Padova

Due giorni dopo il Google Developer Day, un evento simile organizzato da Microsoft: il Microsoft Days08. La giornata si è tenuto all’hotel Sheraton a Padova, di fronte all’Ikea, tanto per capirsi. Ho seguito il percorso MSDN (per sviluppatori).

Benvenuto

Inizia a parlare Silvano Coriani – Developer evangelist. Lascia qualche informazioni sulla community che cura l’after hour (XeDotNet), sulla PBC (che quest’anno si può seguire OnLine!) e altre informazioni commerciali.

Dopo qualche panoramica sull’agenda e sulle nuove tecnologie (Dynamic Data Scaffolding, Web Platform Installer, supporto a jQuery in VS, Silverlight 2.0, DeepZoom, …) si passa alla sessione sull’Entity Framework.

Entity Framework

Una breve introduzione a questa tecnologia con qualche chiarimento: LINQ è una tecnologia che lavora sull’interfaccia IQueryable. Le varie implementazioni sono specifiche, ma di fatto LINQ non lavora necessariamente su una base dati.

Con Entity Framework viene introdotto un nuovo modello: l’Entity Data Model e un nuovo dialetto per dialogare con i dati: LINQ SQL. Le entità non hanno un concetto di store, introducono invece il concetto di definizione e istanza.

Entity framework lavora con più file (“embeddizzabili” nel compilato o meno): CSDL definisce il modello, MSL definisce il mapping e SSDL definisce lo storage.

Tramite SQL Server Profiler si può osseravare come l’entity framework lavori.

Di fatto l’entity framework astrae sulla base dati. In questo modo, tramite i file di configurazione sopra citati, è possibile cambiare basi dati in modo trasparente.

ASP.net Dynamic Data e Internet Explorer 8

Non ho preso molti appunti su questa sessione perché lavorare con il nuovo paradigma MVC di Microsoft (di questo si tratta infatti) è abbastanza intuitivo. Per le slide rimando al post di Pietro Brambati. Va comunque specificato, per non trarre in inganno il lettore, che ASP.net Dynamic Data non c’entra nulla con IE8 e che uno non richiede nulla dell’altro.

Al di là di questo, Dynamic Data viene introdotto dal .net 3.5 SP1 e in pratica rende di facile creazione i siti web data-driven (i classici CRUD) generando una UI dinamica e fornendo validazione di dati. Questa tecnologia inoltre sfrutta il nuovo sistema di routing, gestendo le richieste tramite path dell’URL e parametri.

Silverlight 2.0

Sicuramente la tecnologia Microsoft più innovativa del momento. La nuova versione (uscita tipo 10 giorni fa) supporta in più rispetto alla 1.0 una serie di linguaggi DLR (IronPython, IronRuby, JScript) e un supporto veramente notevole al networking: è possibile creare connessioni da REST a RSS, da SOAP a Socket. (JSON era già supportato dalla 1.0).

Per sviluppare con Silverlight 2.0 è necessario installare i tools per Silverlight 2.0 (credo al momento disponibili solo in inglese per VS inglese), Expression Blend 2.0 SP1 ed eventualmente DeepZoom Composer.

Silverlight compilerà in un file .xap, che ha formato zip e contiene le DLL compilate. Il plugin (disponibile per Windows, Mac e Linux), del tutto simile al plugin per Flash, Acrobat, QuickTime, RealPlayer, Shockwave o WPF, si occuperà di tutto il resto. A proposito, il plugin per Silverlight 2.0 sarà divulgato tramite Windows Update a breve.

Ovviamente le applicazioni Silverlight gireranno in una sandbox adeguata.

Qualche link utile su SL 2.0 è sicuramente quello del Silverlight Control Pack (che rumors dicono sarà pronto a breve), contenente un bel po’ di controlli che mancano rispetto a WPF.

Giusto per fugare qualche possibile dubbio: SL non richiede il framework .Net (del resto è ovvio, visto che gira anche su Linux e Mac). E’ possibile gestire la pagina HTML direttamente da SL e viceversa (tramite JavaScript), anche se nelle slide pubblicate sul post di Pietro Brambati l’argomento non viene trattato. Inoltre il passaggio da WPF a SL e viceversa dovrebbe essere quasi immediato, escludendo problematiche di sicurezza dovute al fatto che l’applicazione girerebbe in ambiente Internet.

Windows Presentation Foundation

Questa sessione, molto simile a quella del lancio di VS 2008, presenta WPF. Con stupore apprendo che solo il 5% dei partecipanti ha mai usato questa tecnologia. E’ un peccato viste le enormi innovazioni sulla UI che introduce. Questa tecnologia ha richiesto molti sforzi: tre team ci hanno lavorato dal 2001. Non mi soffermo sui dettagli di WPF perché su Internet si trova di tutto e di più, essendo in RTM dall’inizio dell’anno.

Solo qualche tip: sono disponibili molti controlli aggiuntivi per WPF con licenza libera e rilasciati in open source all’indirizzo http://www.codeplex.com/wpf. Inoltre esistono temi WPF gratuiti e a pagamento sul web: modificare lo stile della propria applicazione è facile farlo sul proprio sito web scaricando CSS liberi.

I nuovi processori Intel

A sorpresa un rappresentante della Intel ha tenuto un piccolo incontro (mezzoretta) parlando della roadmap dell’azienda. E’ stato molto interessante vedere a grandi linee il loro modo di lavorare.

SQL Server 2008

Anche questa sessione è un doppione del lancio di VS 2008 e non mi ci soffermerò.

Conclusioni

Rispetto al Google Developer Day l’atmosfera è molto meno sfarzosa e il cibo non è paragonabile (ma non è questo che andiamo a valutare, giusto?!?). Con questo non voglio assolutamente dire che si viene trattati male, anzi. Caffè e una buona pastasciutta con dolce sono a volontà. Le sessioni sono più tecniche e durano di più, ma le informazioni sono tutte preziose se si vuol avere idea dei vantaggi e svantaggi delle nuove tecnologie, per sapere se e dove conviene introdurle. Al contrario di Google che organizza un unico incontro in Italia e con i tecnici che parlano inglese (perché i loro sviluppatori lavorano in Irlanda), Microsoft organizza vari incontri un po’ in giro per l’Italia e le sessioni sono tenute da i “developer evangelists”, cioé figure ad hoc che hanno il compito di portare le nuove tecnologie al pubblico. Un confronto non posso non farlo: i partecipanti del MS Days08 assomigliano abbastanza allo stereotipato informatico tozzo assonnato con pochi capelli e un pullover da banchiere, mentre quelli di Google sembravano più vivi.

Per le slides delle sessioni: http://blogs.msdn.com/pietrobr/archive/2008/10/14/microsoft-days08-le-mie-sessioni.aspx