Pod tą tajemniczą i dość magicznie brzmiącą nazwą kryje się nowa technologia, jaką ostatnimi czasy zaserwował gigant z Redmond. Silverlight to ostateczna nazwa wtyczki WPF/E (Windows Presentation Foundation Everywhere) do przeglądarek internetowych, pozwalającej na uruchamianie na komputerach animacji wspieranych grafiką wektorową oraz filmów wideo o dużych rozdzielczościach - czyli coś w rodzaju tego, co obecnie daje Adobe Flash (niegdyś Macromedia). Główną ideą, jaka przyświecała WPF było oddzielenie interfejsu graficznego od strony programowej oraz zwiększenie stopnia interaktywności aplikacji z użytkownikiem przy jednoczesnym uproszczeniu projektowania tego typu aplikacji. Na potęgę Silverlight składa sie połączenie trzech technologii: java script, XAML i .NET Framework. Efekty są dość obiecujące.
Innowacją jest zapowiedź Microsoftu, że cały podsystem będzie typu "cross-platform" - wspierający wszystkie systemy operacyjne (Windows, Linux, Mac OS), więc niezależnie, czy używamy Internet Explorera Safari, czy Firefox, lub Konquerora - odebrane wrażenia będą te same. Miejmy nadzieje, że wszystko potoczy się zgodnie z zapewnieniami i tak dobrze rokująca technologia nie dołączy do grona produktów typowo "Windowsowych", jak np. Windows Media Player.
Cała idea platformy jest niezależna zarówno od strony klienta jak i serwera. Biblioteki dla Mac, czy standardowego PC wyglądają tak samo i można używać ich na wszystkich aplikacjach serwerowych bez wymagania specjalistycznego oprogramowania. Inną zaletą jest odtwarzanie starszych formatów Windows Media. Oczywiście nie brakuje i nowości - fajerwerkiem Silverlight jest wyświetlanie filmów wideo w jakości HD (720 linii) i dekodowanie VC-1 - kodeka używanego do kodowania filmów na płytach Blue Ray. Praca z VC-1 daje dodatkowe możliwości, ponieważ zdecydowana większość zapowiedzi filmowych wysokiej jakości znajdujących się w sieci (np. 20th Century Fox, Warner Bros.) jest kodowana w tym formacie, a Silverlight otwiera dostęp do tych olbrzymich zasobów wideo.
Prostota przede wszystkim - tworzenie aplikacji interaktywnych, czy osadzanie na stronach klipów wideo uproszczono do minimum. Szybkość, wektoryzacja - a co za tym idzie - płynne skalowanie obrazu wideo oraz przechodzenie w tryb pełnoekranowy bez gubienia pozycji na linii czasowej filmu to tylko niektóre z zalet. Inżynierowie z Microsoft zapewniają, że w łatwy sposób można dokonywać konwersji formatów (np. Quicktime) a także tworzyć w klipach tzw. sceny i rozdziały znane nam powszechnie z filmów DVD, za pomocą których w dowolnym momencie możemy przeskoczyć do innego fragmentu wideo.
Silverlight ma zaatakować również telefony komórkowe. Bardzo ciekawą prezentację możliwości technologii w wersji przenośnej przedstawia film, który możecie obejrzeć tutaj. Pokazano w nim, jak wielki potencjał i interaktywność zyskujemy dzięki tej technologii w aplikacjach Windows Mobile.
Skoro od wielu lat Adobe Flash wiedzie prym w tej dziedzinie, dlaczego decydować się na Silverlight? Poniżej przedstawiamy kilka powodów:
- odtwarzanie plików WMV oraz szereg dodatkowych opcji interaktywnych wspierające przechodzenie w tryb pełnoekranowy bez straty pozycji odtwarzania - wszystko to, jak zapewnia producent - za pomocą "kilku" linijek kodu - niezależnie od platformy
- separacja XAML - możemy zagnieżdżać kod w zwykłym HTML
- pełna integracja z HTML - możliwość nałożenia HTML na zawartość Silverlight (tworzenie ramek bez okien), a także pełna współpraca z ASP .NET AJAX
- prosty 3-krokowy proces tworzenia animacji (-zawarcie w nagłówku HTML pliku JavaScript; -wywołanie funkcji wywołującej obiekt Silverlight w dowolnym miejscu ekranu; -dodanie XAML (animacja, media))
- niewielki plik instalacyjny (najnowsza wersja zajmuje ponad 4 MB - wersja ostateczna ma zajmować 2MB)
- wsparcie dla Windows XP oraz Vista
- szybki niczym błyskawica - możemy równocześnie odtwarzać kilka plików wideo bez gubienia ramek, klip wideo może służyć jako wypełnienie, lub teksturę dowolnego obiektu 2D, co pozwoli tworzyć media o niespotykanych dotąd właściwościach
- duża tolerancja - zarówno od strony klienckiej jak i serwerowej - np. możemy uruchomić aplikacje na MAC korzystając z serwera postawionego na Apache
- kompatybilność wsteczna z narzędziami programistycznymi MS
- strumieniowanie plików wideo o rozdzielczości 720 linii przy użyciu kodeka VC-1 (Adobe Flash ograniczony jest 576 liniami)
Czy te powody brzmią przekonująco? Jeśli nie, to sami możecie tego doświadczyć. Wystarczy pobrać wersję instalacyjną środowiska, która znajduje się tutaj. Przechodząc przez bardzo krótki proces instalacji zobaczymy okienko jak poniżej:
Już po chwili możemy cieszyć się przeglądarką wzbogaconą o najnowszą technologię na rynku. Czy jest rzeczywiście tak rewelacyjna? Jej możliwości możemy sprawdzić na witrynie testowej Silverlight Airlines Demo, a także na stronie producenta: klocki , tatuaż, pianinko oraz gra. Przyznam, że na mnie zrobiło to wrażenie, ale czy to wystarczy by zaistnieć na rynku i wyprzeć tak już ugruntowanego Flasha? Z pewnością czas przyniesie odpowiedź.
Flash-killer (takie przezwisko zyskał Silverlight) w najnowszej wersji został przedstawiony na MIX07 - targach poświęconych najnowszym technologiom i innowacjom w sieci WWW, gdzie również zapowiedziano najnowszą wersję Expression Studio, która będzie wspierała projektowanie aplikacji i witryn w tej technice. Silverlight ze swoim potencjałem stanie w szranki z najmłodszymi "dziećmi" Adobe, jak Flex oraz Apollo. W odróżnieniu od nich jest bardziej elastyczny dzięki dynamice i lepszej podatności na programową manipulacje i indeksowanie. Doskonała współpraca z platformą .NET zwiększa szanse czarnego konia Microsoftu na opanowanie rynku.
Nie chwalmy dnia przed zachodem słońca - srebrne światełko ma kilka dość sporych wad. Pierwszą jest fakt, że nie posiada kompatybilności z SVG (Scalable Vector Graphics) – uniwersalnym formatem dwuwymiarowej, statycznej i animowanej grafiki wektorowej, opartym na XML i dość powszechnie używanym. Konstruktorzy stworzyli zupełnie nowy i niezależny format bazujący na grafice wektorowej, co zapewne skutecznie odstraszy deweloperów i projektantów, którzy nie będą mogli łączyć Silverlight z projektami, które posiadali wcześniej.
Kolejnym niepokojącym faktem jest wtyczka do systemów Linux, która nie ukazała się jeszcze do tej pory. Powstały inicjatywy, by budować ją w wersji open source. Linux jest systemem o wielkim potencjale jeśli chodzi o naturę sieciową i odwlekanie prac nad rozszerzeniem to zła strategia. Najnowsze wieści donoszą, że wtyczka pojawi się dopiero pod koniec tego roku.
Zarówno Flash i Silverlight posiadają podobne wymagania jeśli chodzi o maszyny. Komputer wyposażony w system Windows musi posiadać procesor min. klasy Pentium III 450 MHz, natomiast sprzęt bazujący na Mac Power PC min. 500MHz. Od sprzętu na systemie Linux producenci wymagają procesora o taktowaniu co najmniej 800MHz. O dziwo Adobe wspiera więcej odsłon Windows (współpracuje z wszystkimi, podczas gdy Silverlight jedynie z XP i Vista). MS pracuje dopiero nad wtyczką, która umożliwi prace z systemami z serii NT (Windows 2000).
Producent "okienek" ma przed sobą nie lada wyzwanie. Wkracza na rynek opanowany przez potentata, jakim bez wątpienia jest Adobe - oferujący technologię z dość długim stażem, do której przyzwyczajeni są programiści i deweloperzy, a także i przeglądarki, które w pełni wspierają Flash. Ponadto sieć zawiera mnóstwo materiałów, kursów, witryn poświęconych Flash, a rynek wręcz ugina się od dobrej literatury. Poza tym Adobe nie próżnuje - zaawansowane prace nad Apollo trwają, wiec wiele pracy czeka Microsoft, by znokautować przeciwnika.
W maju podano oficjalnie porównanie funkcji Silverlight w wersji beta oraz ostatecznej wersji alfa, której wydanie planowane jest na wiosnę 2008. Ma zostać dodane wsparcie aplikacyjne i interakcyjne - obok JavaScript mają pojawić się: C#, VB.NET, Python. Biblioteki mają być wzbogacone o obsługę .dll. Planowane jest umożliwienie dostępu do kodu HTML z kodu kierującego (tzw. Managed DOM API ) oraz dodanie kontrolek wysokiego poziomu, jak przyciski, listboxy, etc. Kolejna różnicą ma być dynamiczne wsparcie językowe dla Pythona, Ruby oraz Dynamicznego VB oraz zmiana wzorca wykonywania kodu z Javascript na tzw. rodzimy, który ma jeszcze bardziej przyspieszyć działanie Silverlight.
Dla chętnych, którzy chcą zapoznać się z przebiegiem prezentacji Microsoft na MIX07 zamieszczamy linki do transmisji z targów. Można je obejrzeć za pomocą Windows Media Playera. Strumień 300Kbit/s Strumień 100Kbit/s Strona oficjalna targów znajduje się tutaj.
Gdy ktoś z Was po przeczytaniu tego artykułu nie zaspokoił swojej ciekawości, to polecamy jedne, z ostatnio wypuszczonych demonstracji:
Fox MoviesJeśli zastanawia Was jak wygląda kod i sposób konstrukcji aplikacji, to tutaj możecie pobrać źródła pokazywanych w tym artykule witryn testowych. Wyjątkowo ciekawskich zapraszamy do śledzenia poczynań technologii na oficjalnym forum społeczności Silverlight.