Pokazywanie postów oznaczonych etykietą ria. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą ria. Pokaż wszystkie posty

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