Il Web diventa ogni giorno sempre più ricco e più ricche sono le opportunità offerte agli utenti. Ciò è possibile grazie allo sviluppo di software e servizi che estendono il Web tradizionale verso tecnologie e modelli più evoluti. Sono Francesco Caccavella e oggi vi presento
Silverlight, la nuova proposta di Microsoft per le applicazioni Web.
Il sito che state vedendo in questo momento si chiama
Tafiti, parola che in Swahili vuol dire "ricercare". Ha tutto l'aspetto di un ambiente Flash, ma si tratta invece di Silverlight, la nuova tecnologia Microsoft che permette la pubblicazione sul Web di applicazioni multimediali ad alta interattività, normalmente chiamate, con un nome coniato dalla vecchia MacroMedia, Rich Internet Application.
Per usare Tafiti, come accade anche per applicazioni Flash o Java, abbiamo bisogno di un plug-in, ovvero un componente aggiuntivo che permette al browser di visualizzare contenuti non tradizionali. Il plug-in Silverlight, dal peso di poco più di 1 MByte, è disponibile per diversi browser e diverse
piattaforme e abilita alla visualizzazione di applicazioni e interfacce create con diverse tecnologie Microsoft.
Silverlight è stato sviluppato in due versioni. Analizzarne le differenze ci permette di capirne meglio le funzionalità. Come si vede dal video le differenze sono marcate: la versione 1.0 è stata focalizzata sul livello di presentazione, ossia sulle capacità grafiche e multimediali, mentre la versione 1.1, disponibile a partire dal 2008, amplia di molto il livello di programmazione, ossia le capacità del plug-in di interpretare istruzioni scritte con diversi linguaggi.
La prima versione di Silverlight è concentrata dunque nel design delle applicazioni e nel supporto della componente video. Come nella Windows Presentation Foundation, il sottosistema grafico dell'ultima piattaforma .Net incluso anche in Vista, di cui Silverlight rappresenta la parte "Web", le interfacce utente vengono rappresentate con XAML: un linguaggio di markup derivato da XML, col quale si possono rappresentare oltre a testo e bottoni, anche diversi tipi di elementi grafici, trasparenze e le animazioni degli oggetti.
Il secondo componente quasi pienamente implementato nella prima versione, e fiore all'occhiello di Silverlight, è lo streaming video . L'estensione è in grado di decodificare e riprodurre video nei formati 720 progressivo, uno dei formati ad
Alta Definizione, grazie all'implementazione del nuovo codec VC-1, ampiamente utilizzato in giochi e nell'industria cinematografica. Consente inoltre di eseguire il download progressivo di contenuti video e di renderli disponibili agli utenti oltre a supportare lo streaming da server Microsoft. Per l'audio vengono usati i comuni formati WMA e MP3.
In questa versione il dinamismo delle interfacce e le interazioni con gli utenti sono limitate e vengono gestite con JavaScript . Alcuni controlli inclusi nelle
ASP.Net Futures permettono invece di integrare progetti Silverlight direttamente in pagine scritte con Asp.Net attraverso comodi strumenti visuali.
Silverlight 1.1 fa grandi passi in avanti . In questa versione, che peserà circa quattro volte l'attuale, sarà introdotto un vero supporto ai linguaggi .NET con l'aggiunta di una versione light del Common e del Dynamic Language Runtime. Sarà così possibile scrivere applicazioni Silverlight con Visual Basic .Net, C#, IronPython e così via. Oltre a ciò in questa versione sarà possibile includere strumenti di Digital Rights Management e verrà ampliato la gestione dei dati a tecnologie come REST.
Sono inclusi nella piattaforma anche diversi protocolli e formati per favorire lo scambio di dati con servizi Web . Grazie a JavaScript, nella prima versione è possibile interrogare servizi Web che espongono i dati attraverso Json, mentre il Silverlight 1.1 verrà incluso anche REST e un interprete del formato RSS . Non manca il supporto per l'archiviazione sul computer di dati in modo da garantire la loro persistenza anche in sessioni diverse.
Per scrivere applicazioni Silverlight si possono utilizzare diversi strumenti di Microsoft destinati a designer e sviluppatori.
Expression Studio, in particolare i due prodotti
Expression Blend ed Expression Design, servirà per creare interfacce e modelli di interazione, Expression Encoder per la compressione video e audio. Visual Studio, scaricando il Silverlight SDK per la versione 2005 in attesa della più completa 2008, per la logica dell'applicazione.
Silverlight è uno degli ultimi arrivati nel campo oramai molto affollato delle tecnologie di sviluppo per Rich Internet Application ma fonda le sue prerogative sulla ben nota piattaforma .NET, favorendo in questo modo chi programma già con i linguaggi Microsoft. Il supporto per la WPF favorisce la creazione di
interfacce grafiche d'impatto, l'integrazione di diversi codec video la rende particolarmente adatta allo streaming Web e la presenza di un database interno apre le possibilità allo sviluppo di applicazioni sempre più simili a quelle per desktop.