DotNetCampania
Il primo portale campano dedicato allo sviluppo software con tecnologie Microsoft

Introducing Silverlight

100% of people found this useful
Introducing Silverlight

Inserito sotto: [Modifica Tag]

Silverlight è una tecnologia di Microsoft, cross-platform e cross-browser, per lo sviluppo delle RIA (Rich Internet Applications). Esso permette di definire interfacce utente e animazioni per pagine Web molto accattivanti grazie alla possibilità di poter integrare tra di loro il linguaggio XAML e la potenza del .NET Framework per la parte di code behind con C# o con VB.Net.

In realtà Silverlight non fornisce tutte le potenzialità del .NET Framework, ma la necessaria porzione di funzionalità di cui si può aver bisogno per lo sviluppo di applicazioni web. Anche il CLR (Common Language Runtime) di Silverlight non è lo stesso del framework .NET, ma è un piccolo plug-in cross-browser (6Mb per la versione 4.0 del runtime)  che si può scaricare gratuitamente da internet. Inoltre, nel caso in cui non fosse mai stato installato il runtime, sarà scaricato automaticamente, previa autorizzazione, al primo accesso fatto in una pagina web sviluppata con silverlight. Il plug-in è funzionante sia sotto Windows sia sotto MAC ed è in alcuni casi supportato da apparecchiature mobile che utilizzano come sistema operativo Windows Mobile o Symbian^1 (S60 5a edizione per cellulari quali N97, N97 mini o 5800 Xpressmusic)e (quando usciranno i nuovi smartphone che lo monteranno, anche se per ora ci si può smanettare un po’) Windows Phone, mentre per Linux bisogna scaricare l’implementazione open source del CLR, Moonlight, sviluppato dal team di Mono.

Ancora più fondamentale è che Silverlight, a differenza di altre tecnologie quali Asp.net o Asp.net MVC, è client-side, quindi le applicazioni sviluppate con essa sono installate direttamente sul client, di conseguenza, considerando uno scenario in cui non avvengono richieste al server, i tempi di risposta della stessa sono più rapidi, dal momento che qualsiasi tipo di operazione viene effettuata direttamente nel browser del client. Tutto questo non da problemi dal punto di vista della sicurezza perche' silverlight gira in una sandbox.<o:p></o:p>

La prima versione fu presentata il 4 settembre del 2007, ma se volessimo fissare una milestone fondamentale per l’inizio dell’ascesa del progetto Silverlight, potremmo identificarla con il 21 dicembre 2006, giorno in cui Microsoft rilasciò una tecnologia che risultava essere un sottoinsieme della già più conosciuta Windows Presentation Foundation. Proprio per questo motivo la prima release di Silverlight fu chiamata WPF/E (WPF Everywhere).

Questa versione di Silverlight ancora non era fornita del CLR, ma esponeva i dati con delle API simili al DOM, fornendo così la possibilità di programmarne l’interazione con javascript. Questa prima versione includeva anche un encoder di formati video e una prima versione dell’interprete per il linguaggio XAML.

Nella release 1.1 fu introdotta una prima versione del runtime, il vero è proprio cuore di questa versione si componeva di tre parti:

· il presentation core che conteneva l’integrazione dei browser, l’interprete del linguaggio XAML e il supporto ai media,

· la Base Class Library, grazie alla quale, quindi, si aveva la possibilità di usare una parte delle classi base del .NET Framework con qualsiasi linguaggio da esso supportato, 

· e “last but not least” il già citato CLR.


 

Questo cuore di silverlight era attorniato da tre framework quali presentation framework, traducendo semplicemente dall’inglese e per dirlo in parole povere, tutto ciò che riguardava la parte di presentazione, il data framework e le interrogazioni dei dati, e il comunications framework per l’interfacciamento delle applicazioni con l’esterno (es. I server).

Il runtime di Silverlight fece Il salto di qualità con la presentazione della versione 2.0 (rilasciata il 14 ottobre 2008), nonostante fosse considerata la naturale evoluzione di Silverlight 1.1, il miglioramento del CLR e alcune introduzioni la rendevano molto più completa e funzionale rispetto al predecessore, e, come se non bastasse, anche se vennero fatte queste modifiche, la dimensione del plug-in continuò a rimanere notevolmente “light”, solo 4,6Mb rispetto ai 4Mb della versione 1.1.

Quasi un anno dopo, per essere più precisi il 9 luglio 2009, Microsoft rilasciava la terza versione di Silverlight, ancora una volta colma d’innovazioni. Con questa release Microsoft, grazie alle migliorie nel campo del supporto a flussi streaming (Smooth Streaming *), cerca di opporsi in maniera decisa a Flash.

Questa piattaforma supportava anche il “Perspective 3-D”, una modalità di implementazione 3D  limitata ad una visualizzazione prospettica degli elementi, ed introduceva effetti grafici da poter applicare singolarmente ad ogni elemento discendente da “UIElement” (Pixel shader effects), furono migliorate le performance video grazie ad un maggiore sfruttamento della GPU, fu aggiunta la possibilità di modificare le immagini bitmap, potendo anche modificare singolarmente i pixel, furono aggiunti anche di nuovi effetti per le animazioni, nuovi controlli, e il navigation framework per permettere la navigazione tra diverse pagine xaml, fu introdotto anche il “Binding Element to Element *, il quale permetteva di bindare la proprietà di un oggetto recuperandone il valore da un altro, e il “Binding Validation”, un sistema che consentiva di intercettare le eccezioni sollevate nel caso in cui al variare del valore dei dati essi risultavano non congrui con i tipi di valori consentiti , furono inserite delle nuove API del namespace System.Windows.Messaging che consentono la comunicazione tra più oggetti Silverlight nella pagina (Local connection), ed infine una delle introduzioni più importanti, la possibilità di creare delle “Out of Browser Application*, applicazioni di silverlight che possono essere avviate direttamente dal desktop.

Il progetto Silverlight è arrivato alla versione 4.0, quest’ultima è stata rilasciata il 15/04/2010 in concomitanza alla presentazione di Visual Studio 2010 e del framework 4.0.

Questa più recente relaese della piattaforma introduce migliorie per lo sviluppo di applicazioni “Out of Browser”, l’aggiunta del supporto alla stampa, quindi l’introduzione dell’oggetto “PrintDocument” e l’uso dell’evento “PrintPage”. Sono stati introdotti nuovi controlli quali la “RichTextBox”, che permette di renderizzare il testo e di gestirne la formattazione, con la possibilità di integrare elementi come immagini e altri oggetti, e l’oggetto “WebBrowser” per la navigazione tra le pagine web, il “Paragraph” per la formattazione del testo, che può contenere diversi oggetti, tra i quali il più interessante è “InlineUIContainer”, che permette di inserire dei controlli all’interno del testo. E’stato anche introdotto l’evento RightMouseButtonDown per il click del tasto destro del mouse e la proprietà AllowDrop per la gestione di trascinamento sul controllo UIElement.

Altre novità assolute di Silverlight 4.0 sono la classe NetworkCredential, per l’accesso a risorse protette da username e password, e la proprieta IpMulticast per l’invio di messaggi contemporaneamente con il trasferimento di pacchetti tramite il protocollo UDP con una connessione uno a molti. E ancora, è stato introdotto il supporto alla Webcam e al microfono.

Infine è giusto fare anche una piccola citazione, “piccola” perché l’argomento sarà ripreso nei prossimi articoli, al MEF (Managed Extensibility Framework), il framework per lo sviluppo di applicazioni componibili dinamicamente, che è stato integrato nel Framework .NET 4.0, e che Silverlight 4.0 supporta.

Il fatto che sia stato integrato il MEF in Silverlight 4.0, ha fatto in modo che venissero accostati sempre più Silverlight e il design pattern M-V-VM (Model-View-ViewModel), questo perché con Silverlight, come anche per WPF, lo sviluppo di applicazioni componibili dinamicamente richiede obbligatoriamente l’uso di M-V-VM. Sembra scontato dire, comunque, che questo design pattern poteva essere tranquillamente usato con Silverlight anche prima della release 4.0.

Non mi resta altro, per questo primo articolo, se non lasciarvi i riferimenti per scaricare i tools di sviluppo di Silverlight 4.0 in Visual Studio 2010 (la release candidate 2), la sdk di Silverlight 4.0, il runtime e i WCF RIA Services per Silverlight 4.0 (la release candidate 2) dal link:

Silverlight 4.0 developer tools and runtime

 *Questo argomento sarà ripreso negli articoli successivi

 

Recent Comments

Leave the first comment for this page.

Associazione Culturale DotNetCampania - C.F.: 95127870632

Powered by Community Server (Commercial Edition), by Telligent Systems