1 giugno 2009 13:24
DevCon 2009: squarci di Azure nelle clouds del mondo dev
Anche quest'anno ho partecipato con molto piacere all'edizione 2009 di DevCon, conferenza tecnologica tenuta dai 4 amici di DevLeap. Paolo, Marco, Rob e Luca si sono dimostrati ancora una volta super professionali e molto preparati e seguire le loro sessioni è sempre un piacere perché difficilmente ti annoi e le demo funzionano sempre alla perfezione (cosa che non si può dire dell'ospite esterno che ha tenuto due sessioni un po' noiosette; a confermare che essere un buon speaker non è da tutti).
La prima giornata sull'architettura di una applicazione non ha riservato molte sorprese. Avendo sviluppato progetti con loro e seguendoli da molti anni, forse quella sessione saprei farla anche io :-) Certo, spaventa vedere come ogni anno il numero di progetti della solution del loro Estate Management aumenta (siamo arrivati a 85), ma posso senz'altro testimoniare che dividere un progetto nei vari strati come insegnano da tempo ha un senso e alla fine ripaga (e poi "siamo pagati per scrivere codice", cit. A.Sponza)
Ero molto curioso di saperne di più di qualche novità del futuro .Net Framework 4.0 e sono rimasto abbastanza sorpreso nel vedere che grossissime news non ce ne sono. Se il 2.0 ci aveva portato i generics e un rivoluzionario asp.net, il 3.0 mostri sacri come WPF e WCF e il 3.5 quella figata che è LINQ, non mi sembra di scorgere tra le novità del 4.0 qualcosa che "rivoluziona" il modo di programmare. Tanto meglio per gli ex-colleghi dev (per chi non lo sapesse lo sviluppo non è più il mio core business) che avranno un po' di tempo per consolidare le tecnologie attuali.
Parlando di Linq, era notizia risaputa che uno dei suoi flavour più famosi (Linq to Sql) è stato condannato se non a morte almeno a "ibernazione"; ci sarà ancora in VS2010, verrà supportato e fixato ma non sviluppato ulteriormente. Il tutto a scapito del suo fratellone maggiore Linq to Entities o meglio di Entity Framework. Devo dire che mi dispiace, perché lo ho usato abbastanza a fondo e se non perfetto è comunque un qualcosa che mi ha risolto e facilitato la scrittura di molto codice. Come ha mostrato Marco le prestazioni sono tutt'altro che scadenti; certo le prende da codice ADO.NET scritto a scalpellino, ma bisogna considerare i valori assoluti. Se mi fa 1000 transazioni al sec. invece che 10.000 di ado.net e lo uso in una intranet di 30 persone dove 1000 transazioni le facciamo a settimana :-), va più che bene. Ho paura che molti si butteranno su EF con il risultato di sparare a una mosca con un cannone. Io per i miei progetti che usano Sql CE Desktop continuerò sicuramente a usarlo.
Per la parte client ho seguito una sessione di WPF e due di Silverlight; non ci sono più dubbi che Wpf e Xaml bisogna impararli prima possibile. Windows Form è morto e chi vuole sviluppare client win32 deve per forza buttarsi su questa tecnologia che come dice Luca "è per molti ma non per tutti...". Preoccupa un po' sentire che VS2010 non ha un editor ancora all'altezza (ma c'é Blend 3 per fortuna) ma soprattutto che bisogna farsi il mazzo tanto e prepararsi a un lungo percorso di training in salita...
Sul fronte delle Applicazioni per il Web sta accadendo un qualcosa che era lecito aspettarsi: una super specializzazione degli skill necessari non solo tra la parte client (html, css, javascript, jQuery, Ajax) e quella server, ma addirittura all'interno di una stessa famiglia di tecnologie della stessa casa. Già era impossibile essere onniscenti tra Asp.Net, Php, Jsp, ecc. ma oggi solo nel mondo asp.net Microsoft abbiamo almeno 4 tecnologie (asp.net Webform, MVC, Ajax e se vogliamo i Dynamic Data) con le quali scrivere applicazioni e che è ovvio non possono essere conosciute tutte allo stesso livello. Almeno capire quale è opportuno usare di volta in volta dovrebbe però essere il minimo per un buon dev o architect. Lo spostamento verso il client (browser) di molte di queste tecnologie (pensiamo solo all'adozione "ufficiale" di jQuery all'interno di Asp.Net 4.0) fa però pensare. Se l'anno scorso l'affermazione di Luca e Rob "buttatevi su Silverlight" pareva un po' forte e rischiosa, oggi mi sento di condividerla al 100%. I pezzi di scotch che stiamo attaccando a browser, http, e compagnia bella non so quanto possano durare ancora. Ogni tanto ci vorrebbe un po' di coraggio e qualche bel colpo di spugna.
Sugli Ado.Net Data Service (aka Astoria, aka "merdoni" :-) ) posso solo riportare qualche esperienza fatta dagli altri: lasciateli dove sono e con un po' di impegno in piú usiamo WCF. A me, da quello che ho visto, hanno dato l'impressione di quelle cose che MS ogni tanto fa ma non si capisce bene perchè; mi hanno ricordato l'interrogazione di SQL Server via browser (con le select scritte nelle Url !!)... belle in demo, ma poi quanti lo usano ?
Lo sviluppo in the clouds e la piattaforma Azure erano tra gli argomenti che piú mi incuriosivano. Per chi non sapesse di cosa si tratti, in parole povere si tratta di mettere le proprie applicazioni su un hosting remoto -così come facciamo da anni con i siti web- supportati però da una piattaforma (hardware, sistema operativo, virtualizzazione, supporto tecnico, ecc.) che ci libera da un sacco di preoccupazioni e possibili problemi. A me sembra una figata colossale, fossi un sistemista mi preoccuperei un po' di più :-) perchè ovviamente se ne va gran parte del suo lavoro, ma vuoi mettere demandare ad altri i problemi di scalablità, security, fault tolereance, backup, availibility 24/7/365 ??! Il mio unico dubbio riguarda la mentalità dei nostri imprenditori o manager... sento giá i commenti del tipo "io mettere la MIA contabilità o il mio business fuori dalle mie mura, magari non sapendo neanche in che paese, a disposizione di altri ??". A parte che 20/25 anni fa quando ho iniziato a lavorare in questo mondo questo era per molte aziende la normalità (il CED con mainframe in outsourcing... cosa cambia se i Km di distanza sono 10000 invece che 10 e se le linee sono dorsali Gbit invece che CDN a 19,2k ??), ma poi io avrei molto piú paura di un dipendente insoddisfatto che con una chiavetta mi può rubare tutto che non dei dipendenti di un centro che gestisce migliaia di clienti come me.
Purtroppo la concomitanza di altre sessioni mi ha impedito di seguirne altre 3 su future tecnologie sicuramente interessanti: l'Identity Framework Geneva (anche se ormai dopo Passport, Card Space e altri tentativi non ci metterei la mano sul fuoco che sia la volta buona), la piattaforma per lo sviluppo model-driven Oslo, e infine Dublin, l'application server per ospitare Workflow. Ma sono sicuro che a DevCon 2010 se ne riparlerà...
PS ma la cosa piú entusiasmante di questa conferenza è stato essere per 3 giorni un dipendente della piú grande sw-house che uno possa sognare :-)