Microsoft Silverlight - Pierwsze kroki
Autor: Bartłomiej Zass
Opublikowano: 2010-10-01
Współczesne aplikacje internetowe nie przypominają zupełnie stron, jakie projektowaliśmy kilka lat temu. AJAX, HTML 5, CSS 3 oraz nowoczesne biblioteki JavaScript, takie jak JQuery czy ASP.NET AJAX, to elementy pozwalające programistom wyeliminować nieustanne przeładowania stron i polepszyć użyteczność oraz wygodę surfowania po sieci. Od 2001 roku coraz częściej stosuje się termin RIA („Rich Internet Applications”) określający zaawansowane, dynamiczne interfejsy użytkownika eliminujące ograniczenia dotychczasowych technologii. Microsoft Silverlight jest rozwiązaniem umożliwiającym programistom i designerom wspólne budowanie aplikacji RIA, które działają w przeglądarce, na telefonie komórkowym oraz wielu innych typach urządzeń (np. konsolach do gier, Microsoft Surface itp.). Dają się również instalować na komputerze obok klasycznych aplikacji. Silverlight jest technologią do tworzenia nowoczesnych, przenośnych aplikacji dla wielu platform, wykorzystujących możliwości „chmury obliczeniowej”.
Microsoft Silverlight jest jednym z najbardziej dynamicznie rozwijanych projektów firmy – trzy kolejne wersje produkcyjne powstały w ciągu niespełna dwóch lat. Aktualnie obowiązująca wersja czwarta jest dojrzałym produktem pozwalającym wykorzystać podłączone do komputera kamery internetowe, oprogramować mechanizm drag & drop, a przy tym zaprojektować zapierający dech w piersiach interaktywny interfejs użytkownika, wykorzystujący mechanizmy akceleracji sprzętowej GPU czy efektów wizualnych uzyskanych dzięki tzw. PixelShaderom.
W odróżnieniu od technologii ASP.NET, Silverlight działa w całości po stronie klienta. Użytkownik, który chce obejrzeć stronę, musi zainstalować wtyczkę (ok. 5 MB) i korzystać z dowolnej popularnej przeglądarki internetowej – oficjalnie wspierane są: Internet Explorer, Firefox, Safari oraz Google Chrome. Nie jest wymagane korzystanie z systemu Windows, Silverlight działa również na systemach Mac OS. Firma Novell, w ramach projektu Moonlight, przygotowuje również wersję wtyczki dla systemów z rodziny linuksowej.
Po stronie serwera Silverlight nie wymaga nic, wystarczy dowolny serwer webowy serwujący treści do przeglądarki internetowej. I bez znaczenia jest, czy będzie to serwer IIS na Windows Server, Apache na systemie Linux czy dowolny inny. Kod aplikacji serwerowej możemy pisać zarówno w ASP.NET, PHP, J2EE, jak i w innych technologiach – dla Silverlightjest to też nie ma znaczenia.
Poniższy cykl artykułów jest wprowadzeniem do podstaw platformy, ma ułatwić rozpoczęcie przygody z Microsoft Silverlight 4. Aby poszerzyć wiedzę, warto zapoznać się również z pozostałymi zasobami, do których odnośniki znajdują się w sekcji głównej Silverlight na MSDN.
Spis głównych zagadnień:
- Warsztat pracy – przyjrzymy się bliżej zestawom narzędzi, które designerzy i programiści mogą wykorzystać do tworzenia aplikacji Silverrlght. Programiści zobaczą w akcji Visual Studio (dostępne także w wersji bezpłatnej – Visual Web Developer). Designerzy poznają rodzinę Expression Studio, składającą się z Expression Blend – do wizualnego projektowania interfejsu aplikacji, animacji, grafiki itp., Expression Design – zaawansowanego narzędzia do tworzenia grafiki wektorowej, Expression Encoder – do enkodowania filmów w celu późniejszego wyświetlania ich na stronie. Zobaczysz przegląd możliwości, a także dowiesz się jak skorzystać z narzędzia Web Platform Installer, aby je najprościej skonfigurować na swoim komputerze.
- Hello, Silverlight! – po skonfigurowaniu środowiska pracy nauczysz się podstaw technologii. Zrobisz swoją pierwszą aplikację. Dowiesz się, czym jest XAML, jak go edytować i jak z jego pomocą opisywać interfejs użytkownika. Zobaczysz, co jest efektem kompilacji oraz jak umieścić gotową aplikację na serwerze (włącznie z poinformowaniem użytkowników o konieczności zainstalowania wtyczki). Opiszemy, w jaki sposób uruchamiać metody Silverlight bezpośrednio z poziomu kodu JavaScript oraz jak modyfikować elementy HTML DOM z poziomu naszej aplikacji, aby powiązać ją z innymi elementami strony.
- Grafika i transformacje – czas na wzbogacenie wyglądu aplikacji. Z artykułu dowiesz się, jak rysować proste kształty, korzystać z różnych rodzajów „pędzli”. Zobaczysz, w jaki sposób importować grafikę z Expression Design i innych narzędzi (np. Adobe Illustrator, Photoshop) oraz jak transformować ją za pomocą Expression Blend na płaszczyźnie 3D (tzw. planeprojection).
- Style i szablony – w Silverlight istnieje możliwość stylowania elementów interfejsu użytkownika. Dzięki stylom możemy przygotować w prosty sposób tematy wizualne dla aplikacji. Nauczysz się także, jak korzystać z szablonów, które całkowicie zmieniają kształt kontrolek, oraz jak dzięki mechanizmom Visual State Managera określić ich wygląd w określonych stanach (np. przycisk kliknięty, podświetlony itp.).
- Animacje i efekty – artykuł opisuje dostępne mechanizmy animacji w Silverlight. Zobaczysz jak „wyklikać” animację w Expression Blend. Przyjrzymy się także co dzieje się „pod spodem” w kodzie XAML, poznając różne typy animacji.
- Praca z danymi – jedną z większych zalet Silverlight jest możliwość deklaratywnego wiązania elementów interfejsu użytkownika z obiektami biznesowymi. Dowiesz się, jak stosować mechanizmy bindingu i inne istotne aspekty łączenia interfejsu z danymi. Zobaczysz, jakie wsparcie oferuje designerom Expression Blend podczas projektowania aplikacji prezentujących duże ilości danych.
- Komunikacja ze światem usług – omówione zostaną techniki łączenia aplikacji z usługami działającymi po stronie serwera. Zobaczymy m.in., w jaki sposób połączyć aplikację z serwisem SOAP oraz zrealizujemy komunikację za pomocą socketów.
- Tutorial: WCF RIA Services – artykuł, w którym przedstawione zostaną podstawy frameworku do budowania aplikacji biznesowych zorientowanych na dane. Dowiemy się, jak szybko krok po kroku przygotować aplikację biznesową wraz z usługami, z którymi będzie połączona.
- Poza przeglądarką – aplikacje Silverlight mogą być instalowane na komputerze i uruchamiane podobnie jak klasyczne aplikacje okienkowe. W artykule opisane zostaną możliwości aplikacji działających poza przeglądarką oraz najważniejsze aspekty z nimi związane.
- Media i IIS SmoothStreaming – w artykule omówione zostaną zagadnienia związane z odtwarzaniem materiałów wideo w Silverlight. Zobaczymy również, jak wyeliminować przykry efekt buforowania dzięki technologii IIS SmoothStreaming.
- Tutorial: Deep ZoomComposer – dzięki Silverlight istnieje możliwość wygenerowania efektownych galerii zdjęć pozwalających na powiększanie obrazów wysokiej rozdzielczości (efekty znane z aplikacji prezentujących mapy). Krótki tuto rial pokaże, jak wykorzystać narzędzie Deep Zoom Composer do zaprojektowania takiej galerii.
- Aplikacje mobilne w Silverlight – zapraszamy do sekcji Windows Phone.