Visual Studio 2010, .NET 4, Silverlight 4 e .NET RIA Services (tutto in RC)
Queste sono le tecnologie su cui ho lavorato negli ultimi due giorni, ricavandone un’ottima impressione. L’unica cosa che rende perplessi è la stabilità dell’IDE di Visual Studio 2010: sono abituato da un po’ di tempo, ad esempio, a scrivere il nome di una classe anche se questa non è nello scope degli using importati sinora. E’ sufficiente scrivere ad esempio:
public class UsersEditor : UserControl
{ }
poi andare sopra UserControl ed utilizzare la funzione dell’Intellisense che aggiunge automaticamente lo using necessario per utilizzare quella determinata classe. Beh, a me puntualmente l’IDE crasha inesorabilmente. E’ servito a poco installare la patch chen ho segnalato sul mio twitter e sul mio profilo Facebook. L’url che segnalavo era questo:
http://blogs.msdn.com/visualstudio/archive/2010/02/09/intellisense-crash-in-ui-automation.aspx. Non sono pretenzioso, in fondo si tratta solo di una RC, per cui mi accontento e faccio il bravo.
A parte questo inconveniente, quindi, la produttività magari non è stata ai massimi livelli, in fondo la mia ignoranza in questo campo è nota. Come ben sapete, sono da parecchio tempo avvezzo allo sviluppo Web. Ma dopo essermi letto le parti più salienti del libro Silverlight 3, mi sono buttato a studiare i .NET RIA Services. Il risultato è che nell’arco di un giorno – più o meno – ho sviluppato una piccola applicazione che mette in campo alcune caratteristiche che si vedono in un qualsiasi video di tutorial riguardante queste nuove tecnologie.
Cioè:
- applicazione Silverlight 4 con…
- …accesso ai dati verso un SQL Server 2008
- separazione “almeno decente†di domain model e presentation
- al momento, domain model e l’accesso ai dati vanno perfezionati
- DataGrid sulla MainPage.xaml che mostra i dati letti da una tabella
- possibilità di filtering dei dati
Insomma, per due giornate di lavoro, studio compreso, non è male, almeno per me che queste tecnologie non le ho mai guardate nemmeno di striscio. La cosa interessante che ho notato è che sebbene ci siano wizard e alcuni designer a disposizione, in fondo si ha buona parte delle cose sotto controllo. In fondo, non c’è nulla di nascosto: il code-behind è lì, il codice XAML è quello che è, per cui se volete ci andate dentro e ripulite dove per voi è necessario.
Molti meccanismi sono naturali e insiti nella natura dei .NET RIA Services, primo fra tutti l’asincronia per il caricamento ed il savataggio dei dati; ho provato – tanto per provare – ad intercettare tramite le opportune callback gli eventi di fine caricamento dati, o fine salvataggio, e anche in questo caso il grado di precisione dato dall’infrastruttura è davvero notevole. Due ultime osservazioni:
- molte cose sono ereditate da ADO.Net 1.0, solo che nel vecchio ADO.Net si andava più raw sui dati (si parlava di dataset, tabelle e record), mentre qui si parla di domain model ed oggetti
- vero che Silverlight è ambito Web, ma ho davvero avuto l’impressione che lo sviluppo Web si sia spostato verso la classica metodologia desktop. Ovvio che ci sono differenze, ma se devo immaginarmi uno slider che da un lato indica web e dall’altro indica desktop, attualmente penso proprio che tutto ciò che riguarda Silverlight pende maggiormante verso il mondo desktop. Vero che è dentro un browser, però c’è un plug-in e l’interazione è a tutti gli effetti più simile ad un programma desktop. E per gli sviluppatori non si parla di css, compatibilità di browser, url, etc.
Alla prossima!