Microsoft wydał niedawno trzecią wersję swojej platformy Silverlight. To dobry moment na zapoznanie się z jego możliwościami. Czy to tylko kopia Flasha?
Silverlight w największym uproszczeniu to „Flash od Microsoftu”. Obydwie technologie działają jako pluginy do przeglądarek, umożliwiają programowanie aplikacji i stworzono je do wyświetlania treści multimedialnych z wykorzystaniem zasobów sprzętowych użytkownika.
Do czego to służy?
Główna różnica to nie działanie, a przeznaczenie. Flash kojarzony jest z reklamami i wyświetlaniem video. Silverlight umożliwia to samo (od wersji 3 wspiera zewnętrzne kodeki i pozwala na wykorzystanie GPU oraz wyświetlanie filmów w HD), ale przeznaczono go do bogatych aplikacji internetowych (RIA). Dołączone do środowiska programistycznego kontrolki (wykresy, grafy) wskazują, że Microsoft skupił się na odbiorcach biznesowych.
Z drugiej strony mamy Adobe i jego aplikacje graficzne integrujące się z Flashem. Microsoft również posiada takie narzędzia, ale dogonienie konkurenta jest mało prawdopodobne – raczej nie należy się spodziewać odpowiednika Photoshopa.
Dużo lepiej jest z warstwą programistyczną i dostępu do danych. W Silverligtcie możemy wykorzystać całe środowisko .NET i znane programistom języki: C# czy VB.NET. Pozwoli to na łatwe przejście ze standardowych aplikacji (również wielowątkowych) do świata SL.
Różnice w działaniu
Jako jedną z ważniejszych różnic należy natomiast wymienić sposób komunikacji aplikacji z serwerem. W obydwu przypadkach działa ona po stronie użytkownika, a efekty działania widać w przeglądarce, ale komunikacja z serwerem przebiega w odmienny sposób.
Flash jest właściwie niezależny od przeglądarki – posiada własne odpowiedniki plików cookies, ma dostęp do dysku, a komunikacja z serwerem przebiega poza przeglądarką. Może to być groźne jeśli np. chcielibyśmy surfować anonimowo.
Silverlight jest sandboksowany, więc jego bezpieczeństwo zależy w dużej mierze od przeglądarki. Ewentualne dziury nie powinny mieć dużego wpływu na system, a nad komunikacją można zapanować z poziomu przeglądarki. Warto dodać, że aplikacje SL mogą pracować offline, analogicznie jak skrypty AJAX wykorzystujące technologię Gears.
Nie tylko Windows?
Jedną z największych wad Silverlighta jest mała dostępność na „niestandardowych” platformach. IE i Firefox są wspierane pod Windowsem, ale Chrome zostało całkowicie zignorowane. Pod Mac OS obsługiwane jest wyłącznie Safari, a Linuksa w ogóle nie ma na liście wspieranych systemów. Otwarta implementacja Silverlighta, Moonlight, została wydana przez Novella (przy porozumieniu z Microsoftem) i współpracuje z Firefoksem pod większością dystrybucji. Niestety jest znacząco opóźniona względem oryginału.
Mimo że Flash i Silverlight działają bardzo podobnie, to są przeznaczone do innych celów. Flash to głównie animacje (czasem interaktywne i bardzo złożone), a Silverlight powstał z myślą o bogatych aplikacjach internetowych. Jak zastosować go w praktyce dowiemy się niebawem.