Na horyzoncie: Silverlight 5 Udostępnij na: Facebook

Autor: Bartłomiej Zass

Opublikowano: 2010-12-22

Microsoft Silverlight z miesiąca na miesiąc zyskuje coraz większą popularność. Wśród największych globalnych firm, które zdecydowały się z skorzystać z tej technologii, znalazły się: Dell, Johnson&Johnson, SAP, NASA, Siemens, Xerox czy eBay. Silverlight jest obecnie liderem na rynku udostępniania mediów i zabezpieczeń DRM. W swoich rozwiązaniach zastosowały go zarówno globalne marki (np. Canal+), jak również nasze rodzime spółki mediowe, w tym: Onet (vod.onet.pl), Polsat (ipla.tv) i TVP. Według portalu riastats.com wtyczkę zainstalowało już około 70% internautów.

Silverlight (obok WPF oraz HTML 5) jest dla Microsoft strategicznym produktem i trwają intensywne prace nad jego rozwojem. Obecna na rynku wersja czwarta pozwala pisać aplikacje dla Windows oraz MAC, działające zarówno w przeglądarce, jak i instalowane na komputerze użytkownika. W październiku 2010 roku ogłoszona została finalna wersja Silverlight dla Windows Phone 7. Platforma działa także na urządzeniach obsługiwanych przez system Windows Embedded.

Kolejna, piąta odsłona Silverlight w wersji beta zostanie udostępniona wiosną 2011 roku. Finalny produkt ujrzymy jeszcze przed końcem roku 2011. Planowane jest zaimplementowanie 70% funkcjonalności zgłaszanych przez użytkowników poprzez portal Uservoice.com.

2 grudnia 2010 roku odbyła się konferencja SilverlightFirestarter, na której Microsoft zaprezentował plany niektórych funkcjonalności, jakie zostaną wprowadzone do Silverlight 5. Dotyczą one wielu obszarów – zarówno aplikacji biznesowych, jak i mediowych. I te wybrane funkcjonalności zostaną omówione w dalszej części artykułu.

Aplikacje mediowe

  1. Sprzętowe dekodowanie filmów HD z wykorzystaniem GPU – umożliwi oglądanie filmów w jakości HD także na urządzeniach o niższej mocy obliczeniowej (np. netbooki) oraz wydłuży ich czas pracy na baterii.
  2. TrickPlay – funkcjonalność pozwalająca użytkownikom na zmianę szybkości odtwarzania filmu, a także szybkie przewijanie (z podglądem). Specjalne algorytmy TrickPlay automatycznie korygują zmiany w ścieżce audio – dzięki temu dźwięk w tak przyspieszonym (lub zwolnionym) materiale nie będzie brzmiał nienaturalnie.
  3. Zoptymalizowane zarządzanie energią oraz integracja z wygaszaczem ekranu. Odtwarzany film automatycznie będzie blokował pojawianie się wygaszacza. Zatrzymanie automatycznie przywróci normalną funkcjonalność.
  4. Obsługa pilotów zdalnego sterowania.
  5. Usprawnienia w DRM – pozwalające na płynne przełączanie się pomiędzy różnymi źródłami.

Warto dodać, że dla części serwerowej w listopadzie 2010 roku wydana została kolejna (czwarta) odsłona bezpłatnych rozszerzeń IIS Media Services. Umożliwia ona między innymi:

  1. SmoothStreaming materiału wideo do urządzeń Windows Phone 7, iPhone, iPad. Enkodowanie materiału dla urządzeń i aplikacji, na których nie jest dostępny Silverlight.
  2. Transmisję na żywo z niskimi opóźnieniami (maksymalnie 2–3 sekundy) – szczególnie istotne np. dla rozwiązań z branży finansowej.
  3. Obsługa Windows Phone 7 w Silverlight Media Framework (smf.codeplex.com) – framework pozwalający błyskawicznie zaprojektować odtwarzacz mediów, działający teraz także na telefonie.

Ogłoszono też plany dodania wsparcia dla IIS Media Services na platformie Windows Azure.

Aplikacje biznesowe

  1. Fluid UI – pozwala bez tworzenia specjalnych storyboardów (wyłącznie deklaratywnie, w kodzie XAML) zdefiniować transformacje pomiędzy stanami aplikacji. Pozwala to w bardzo prosty sposób uzyskać efekt transformacji, kiedy elementy zostają dynamicznie dodane lub zmodyfikowane w ramach obowiązującego layoutu (np. efekty podczas dodawania elementów do listy).
  2. Znaczące usprawnienia w wyświetlaniu tekstu i obsłudze formatu OpenType – zwiększają czytelność i wydajność, co ma duże znaczenie np. dla aplikacji wyświetlających e-booki.
  3. Obsługa drukowania wektorowego Postscript – ułatwia generowanie graficznych wydruków raportów i umożliwia utworzenie innego obrazu do druku niż ten, który jest prezentowany na ekranie.
  4. Wiązanie danych i obsługa wzorca MVVM (Model-View-ViewModel):
    1. debugowanie błędów bindingowych – niezwykle przydatna możliwość ustawiania breakpointów w XAML i uzyskania szczegółowych informacji o bindowanym obiekcie,
    2. Implicit Data Templates – umożliwia określenie domyślnego szablonu dla wszystkich kontrolek danego typu w aplikacji. Funkcjonalność rozszerza wprowadzone w Silverlight 4 tzw. ImplicitStyles – o obsługę szablonów danych,
    3. AncestorRelativeSource – dostępna już w WPF możliwość bindowania, np. wewnątrz szablonu kontrolki (Data Template), do właściwości samej kontrolki lub elementów nadrzędnych,
    4. bindowanie wewnątrz definicji stylów (w tzw. Setterach) – np. do innych właściwości stylowanej kontrolki,
    5. zdarzenie DataContextChanged oraz dodatkowe usprawnienia dla obsługi wzorca MVVM (Model-View-ViewModel) poprzez tzw. markupextensions – możliwość wywołania kodu podczas parsowania XAML.
  5. Usprawnienia w komunikacji sieciowej:
    1. zmniejszone opóźnienia sieciowe dzięki wykorzystaniu specjalnego wątku działającego w tle,
    2. bardzo oczekiwana obsługa WS-Trust – tokeny uwierzytelniające SAML.
  6. Optymalizacja parsera XAML – zwiększenie wydajności startu i działania aplikacji.
  7. Wersja wtyczki Silverlight dla systemów 64-bitowych (dla użytkowników, którzy na systemach 64-bitowych chcieliby korzystać z przeglądarki w natywnym, 64-bitowym trybie).
  8. Grafika:
    1. wyjątkowo oczekiwane API do grafiki 3D (akcelerowane przez GPU),
    2. API pozwalające bezpośrednio renderować grafikę na GPU,
    3. akceleracja sprzętowa w trybie windowless na Internet Explorer 9.
  9. Aplikacje o podniesionych uprawnieniach działające w przeglądarce internetowej. Silverlight 4 pozwolił instalować na komputerach aplikacje, które otrzymywały specjalny zestaw uprawnień – dostęp do systemu plików czy obiektów COM. W Silverlight 5 administratorzy,  poprzez Group Policy, teraz będą mogli udostępnić aplikacji działającej również w przeglądarce internetowej takie specjalne uprawnienia, w tym:
    1. wyświetlanie zawartości HTML,
    2. dostęp do systemu plików (katalog My Documents),
    3. uruchamianie programów – np. możliwe będzie automatyczne utworzenie dokumentu Word i wysłanie go za pomocą aplikacji Outlook,
    4. dostęp do obiektów COM – np. obsługa zewnętrznych urządzeń.
  10. Aplikacje działające poza przeglądarką internetową (Out Of Browser):
    1. uruchamianie kodu natywnego poprzez P/Invoke bezpośrednio z aplikacji Silverlight,
    2. możliwość wyświetlania dodatkowych okien aplikacji.
  11. Usprawnienia w narzędziach:
    1. specjalne narzędzia profilujące w Microsoft Visual Studio, monitorujące obciążenie CPU, zużycie pamięci, zakleszczenia wątków,
    2. obsługa Visual Studio Team Test. Możliwość automatyzacji testów (nagrania i edycji poszczególnych kroków, na które składa się pełny test).

Powyższa lista prezentuje tylko część zaplanowanych dla wersji beta funkcjonalności. Finalny produkt może zostać rozszerzony – na podstawie głosów oddawanych przez użytkowników poprzez portal Uservoice.com.

Więcej na temat planowanych funkcjonalności w nagraniu sesji generalnej konferencji SilverlightFirestarter: https://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie