SilverLight Toolkit


Come annunciato da Microsoft nella  persona di Scott Guthrie (vice presidente Microsoft Corporation ) nel suo PDC keynote, è stato rilasciato il SilverLight Toolkit che consiste in una serie aggiuntiva di  componenti riusabili per Silverlight.
Lo scopo è sicuramente quello di aumentare lo sviluppo di applicazioni in SilverLight e cercare di portare questa tecnologia ad un secondo livello di produttività, attraverso il riuso di componenti già pre confezionati.
Il toolkit è stato realizzato attraverso l’interazione tra la stessa Microsoft e le comunità di sviluppatori che grazie ai loro feedback hanno permesso di realizzare questa serie di componenti aggiuntivi . Questa interazione permette di avere una costante evoluzione, migliorandone la stabilità e le funzionalità per ognuno dei componenti.
Il toolkit viene fornito di esempi, documentazione  e volendo anche del codice sorgente per ogni componente, che quindi può essere rivisto e customizzato a seconda delle nostre esigenze.

Vediamolo  in dettaglio :

La prima release viene fornita di 12 nuovi controlli che riguardano diversi aspetti come i grafici,stili, layout delle applicazioni e user input.

 

 

Per vedere all’opera e provare le caratteristiche di tutti i controlli del toolkit  è possibile visitare i sample messi a disposizione a questi due indirizzi :

·         Controlli

·         Chart

In questo modo ci si rende subito conto delle enormi potenzialità che questo può avere nello sviluppo di applicazioni con questo tipo di tecnologia, garantendo una maggiore rapidità nello sviluppo e una stabilità dei servizi offerti dall’applicazione stessa.

Interessante da notare è la politica del Quality Band.
Con questo sistema Microsoft intende definire un sistema di maturità per ogni singolo compente. Infatti , come detto in precedenza, il toolkit è in costante evoluzione grazie ai feedback dati dalle community. Ogni singolo componente verrà catalogato a seconda del suo stato di stabilità. Gli stati possono essere :

·         Experimental
E’ il primo grado di sviluppo. Il componente è ancora in uno stato embrionale che permette alle comunità di sviluppatori di testarlo e rilasciare i propri feedback.

·         Preview
In questo stato il componente può essere utilizzato per piccole applicazioni, ma non per uso pesante in fase di produzione in quanto non ancora maturo per questo tipo di applicazioni.

·         Stable
Il componente è al 90 % delle sue caratteristiche di stabilità e funzionalità, questo permette un suo uso in fase di produzione garantendone un certo grado di stabilità.

·         Mature
Stadio massimo di maturazione del componente. Questo può essere usato a pieno ed in qualsiasi tipo di applicazione avendone certezza della sua resa in termini di stabilità.

Vista la sua giovane età il Toolkit non presenta ancora dei componenti con una Quality band di Mature, questo verrà rilasciato non appena verranno dati dei feedback positivi dall’utilizzo dei componenti ora in stato Stable.

Installare il silver light Toolkit in Visual Studio 2008

Operazioni Preliminari

Prima di poter installare il Toolkit nel nostro Visual Studio 2008, dobbiamo essere sicuri di aver installato tutti i compenti necessari. Questi consistono in 2 passaggi :

·         Il Service Pack 1 per Visual Studio 2008

·         Silverlight Tools for Visual Studio 2008 SP1

A questo punto il nostro Visual studio è pronto per l’installazione  e lo sviluppo di applicazioni con silver light.


Scaricare il ToolKit

La prima operazione da compiere è sicuramente quello di scaricare l’ultima versione disponibile.
Microsoft rilascerà le varie versioni attraverso il suo Codeplex a questo indirizzo : http://www.codeplex.com/Silverlight.
Il toolKit viene rilasciato in due versioni.
Una con i sorgenti, la documentazione ed alcuni esempi , la seconda con aggiunta di alcuni test eseguiti sui singoli componenti. Scarichiamo una delle due versioni.

Una volta scompattato l’archivio, ci troviamo di fronte a tre cartelle :

fig1.JPG

Figura 1

·         Binaries
Dove al suo interno troviamo i componenti già compilati e pronti per essere utilizzati.

·         Samples
Con all’interno alcuni esempi di utilizzo.

·         Source
Cartella con i sorgenti per ogni componente. Infatti come detto in precedenza possiamo andare, eventualmente, a modificare il controllo a seconda delle nostre esigenze.

Aggiungere i componenti a Visual Studio 2008

Apriamo il visual Studio. E creiamo un nuovo progetto di tipo Silverlight.

 

Una volta caricato il progetto andiamo ad aggiungere un nuovo Tab all’interno del nostro Toolbox, per permetterci con un semplice drag & drop l’aggiunta dei nuovi componenti all’interno delle nostre applicazioni.

Chiamiamo il nostro nuovo Tab : Silverlight ToolKit , clicchiamo con il tasto destro su di esso e selezioniamo il Choose Item, che ci permette di installare nuovi componenti all’interno del nostro Visual Studio.

Figura 3

Una volta aperta la finestra di dialogo ci posizioniamo nel  tab  SilverLight component e grazie ad un semplice Sfoglia andiamo a ricercare i nostri componenti nel file scompattato in precedenza. Chiaramente  li troveremo all’interno della cartella Binaries, sotto forma di file .dll .

Aggiungiamo tutti i nostri componenti e a questo punto diamo un Ok alla nostra finestra di dialogo dove noteremo che i componenti verranno aggiunti all’interno della nostra Toolbox, pronti per essere utilizzati.

A questo punto con un semplice Drag&Drop possiamo andare ad aggiungere i componenti all’interno della nostra applicazione.

Quando aggiungiamo un componente del Toolkit all’interno del nostro progetto, Visual studio 2008, provvederà per noi ad aggiungere all’interno dei references il riferimento (link) al file  dove  risiede  il nostro componente.
Le referenze principali sono due :

·         Microsoft.Windows.Controls
dove sono contenuti la maggior parte dei controlli di visualizzazione come il Treeview o la Label

·         Microsoft.Windows.Controls.DataVisualization
dove invece sono contenuti i controlli inerenti ai chart.

Oltre ai reference visual studio creerà per noi anche il namespace per il toolkit, attraverso l’istruzione :

xmlns:controls="clr-namespace:Microsoft.Windows.Controls;assembly=Microsoft.Windows.Controls"  xmlns:charting="clr-namespace:Microsoft.Windows.Controls.DataVisualization.Charting;assembly=Microsoft.Windows.Controls.DataVisualization"

che và inserito all’interno della definizione dello UserControl.

 

 

Ora che abbiamo installato e siamo pronti ad utilizzare il nostro toolkit,mettiamo all’opera.

 

Esempio :

Creiamo un piccolo grafico per la rappresentazione dei dati della popolazione di alcune città italiane.

Per prima cosa aggiungiamo nel nostro codice Xaml, facendo un drag & drop dal tab Silverlight  Toolkit, il componente Chart.
La prima cosa da fare è sicuramente quella di assegnargli un nome ed un titolo :

<charting:Chart Title=" Grafico di esempio (fonte wikipedia)" Name="mychart">

A questo punto possiamo decidere il tipo di grafico che intediamo creare, questo può essere essenzialmente di due tipi :

·         Pie ( grafico tipico a torta )

·         Series ( con barre verticali )

Per il nostro esempio scegliamo la seconda possibilità.

<charting:Chart.Series>

Ora non ci resta che configurare le colonne del nostro grafico. Per questo esempio useremo un semplice binding di dati da una generica lista di classi di tipo Città, che espongono due proprietà Nome e Popolazione.

<charting:ColumnSeries

            Title="Popolazione"

            ItemsSource="{Binding}"

            IndependentValueBinding="{Binding nome}"

            DependentValueBinding="{Binding popolazione}"/>

            </charting:Chart.Series>

        </charting:Chart>

Come si vede dal codice abbiamo definito un titolo al grafico, abbiamo impostato i valori indipendenti ovvero le colonne per il nostro grafico e i valori dipendenti ovvero i relativi dati per ogni colonna.

A questo punto non ci resta che configurare nel Code Behind  il bindig dei dati.

Per fare questo per prima cosa dobbiamo crearci una semplice classe di nome città che espone due proprietà, una per il nome della città e una per la popolazione.

Una volta fatto questo abbimo bisogno di un collection di città, che andiamo a riempire nel momento di inizializzazione della pagina.

  Public Sub New()

        InitializeComponent()

 

        listOfCitta.Add(New citta("Cagliari", "158041"))

        listOfCitta.Add(New citta("Milano", "1298972"))

        listOfCitta.Add(New citta("Roma", "2705317"))

 

    End Sub

Ora  andiamo a impostare l’item source per la serie di colonne del nostro grafico che chiaramente sarà la nostra collection di città.

    Private Sub Page_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded

 

        Dim colum As ColumnSeries = mychart.Series(0)

        colum.ItemsSource = listOfCitta

 

    End Sub

Lanciamo il progetto con F5, e visualizziamo il nostro grafico.

Come potete notare dal grafico la mia povera Cagliari è in netto svantaggio su Milano  e Roma in termini di popolazione.

Conclusioni

Il toolkit è uno strumento essenziale per chi vuole iniziare a programmare in Silverlight, consentendo di aumentare la produttività delle nostre applicazioni. E’ importante dire che il toolkit viene distribuito con Microsoft Public License che consente di riutilizzare il codice senza vincoli di licenza.