wtorek, 11 maja 2010

Architektura Silverlight

Mój dzisiejszy post będzie wprowadzeniem do technologii Microsoft Silverlight. Polecam go osobom, które jeszcze nie miały styczności z tym temat a chciałyby rozszerzyć swoją wiedzę. Silverlight należy do grupy technologii RIA (Rich Internet Application). Można za jego pomocą budować aplikacje przeglądarkowe o bogatym interfejsie użytkownika, często nieosiągalnym przy pomocy klasycznych rozwiązań webowych opartych o HTML. Z Silverlighta możemy korzystać po zainstalowaniu odpowiedniego plug-ina (dodatku) do przeglądarki.
W obecnej wersji (4.0) Silverlight wydaje się być dojrzałą technologią mogącą konkurować z Adobe Flash/ Flex. Jest on dostępny pod różne przeglądarki : IE, Mozilla, Chrome oraz systemy z operacyjne z rodziny Windows i MAC OS. Wadą jest brak wsparcia dla systemów unixowych. (Istnieje projekt Moonlight lecz nie nadąża on za rozwojem Silverlight). Do tej pory istniały dwa główne kierunki rozwoju: media (np. internetowa transmisja zimowej olimpiady w TVP, czy VOD na onet.pl) oraz aplikacje biznesowe. Na konferencji MIX10 zaprezentowano trzeci trend a mianowicie aplikacje na urządzenia mobilne pracujące pod kontrolą Windows Phone 7.
Podstawowym narzędziem developerskim dla SL 4.0 jest Visual Studio 2010 uzupełnione o narzędzie dla projektantów Expression Blend 3.
Architektura Silverlight
Plugin Silverlighta zainstalowany w przeglądarce pełni rolę integracyjną aplikacji SLz przeglądarką , prezentacyjną,oraz dostarcza okrojone środowisko uruchomieniowe .NET runtime. (wyrzuconych zostało wiele funkcji niepotrzebnych w SL np. biblioteki Windows Forms etc., inny jest również sposób kompilowania bibliotek dla SL)
Developerzy programujący aplikacje Silverlight mają dostępne dwa modele programowania:
JavaScript API for Silverlight oraz API kodu zarządzalnego oparte o okrojony zestaw bibliotek .NET for Silverlight.
Platforma Silverlight składa się z dwóch głównych komponentów:
Głównego modułu prezentacji oraz okrojonego środowiska .NET.
Moduł prezentacji zawiera komponenty i serwisy wykorzystywane w interfejsie użytkownika np.
kontrolki, odtwarzacze mediów, kontrola praw autorskich, wykorzystanie grafiki wektorowej, obrazów, animacji. Językiem opisującym warstwę prezentacji jest XAML (składniowo oparty na XML). Elementy warstwy prezentacji:
funkcje wejścia wyjścia (klawiatura, mysz, etc.) , renderowanie grafiki, odtwarzanie i zarządzanie mediami, deep zoom, kontrolki, data bindning, DRM, XAML.
Środowisko uruchomieniowe .NET Runtime dla Silverlight zawiera okrojone biblioteki .NET,
garbage collection oraz CLR (common language runtime). Część bibliotek jest zawartych w zainstalowanym w przeglądarce runtimie a część dostarczanych wraz z aplikacją w której są wykorzystywane np. UI Controls, XLINQ,Syndication,DLR etc. Elementy .NET Runtime w Silverlight to: Obsługa danych (LINQ, XLINQ), Podstawowe biblioteki .NET, wsparcie WCF,elementy WPF,CLR,DLR.
Architektura Silvelighta posiada wiele dodatkowych cech ułatwiających tworzenie aplikacji:
Isolated Storage (fragment dysku w którym możemy przechowywać dane aplikacji na komputerze klienckim do którego mamy dostęp z poziomu kodu zarządzalnego), programowanie asynchroniczne poprzez background worker thread wspomagający interakcje z użytkownikiem podczas przetwarzania danych,Open/Save File dialog,Serializacja,obsługa XML, obsługa drukarki, kamery, mikrofonu etc.
Aplikacja Silverlight ma postać pliku *.xap. Xap jest plikiem archiwum zip (wystarczy zmienić rozszerzenie na *.zip i możemy obejrzeć co jest w środku aplikacji Silverlighta) zawiera on skompilowaną aplikację, biblioteki dll z których korzysta aplikacja oraz roznego rodzaju resourcy z których korzysta aplikacja.
Wszystkich znających chociaż trochę środowsko .NET zachęcam do zapozniania się z tworzeniem aplikacji w Silverlight i przekonaniem się jakie to proste.
Swój post oparłem na artykule z msdn

Brak komentarzy:

Prześlij komentarz