Na horyzoncie: Silverlight 5
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
- 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.
- 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.
- Zoptymalizowane zarządzanie energią oraz integracja z wygaszaczem ekranu. Odtwarzany film automatycznie będzie blokował pojawianie się wygaszacza. Zatrzymanie automatycznie przywróci normalną funkcjonalność.
- Obsługa pilotów zdalnego sterowania.
- 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:
- 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.
- Transmisję na żywo z niskimi opóźnieniami (maksymalnie 2–3 sekundy) – szczególnie istotne np. dla rozwiązań z branży finansowej.
- 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
- 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).
- 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.
- 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.
- Wiązanie danych i obsługa wzorca MVVM (Model-View-ViewModel):
- debugowanie błędów bindingowych – niezwykle przydatna możliwość ustawiania breakpointów w XAML i uzyskania szczegółowych informacji o bindowanym obiekcie,
- 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,
- 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,
- bindowanie wewnątrz definicji stylów (w tzw. Setterach) – np. do innych właściwości stylowanej kontrolki,
- zdarzenie DataContextChanged oraz dodatkowe usprawnienia dla obsługi wzorca MVVM (Model-View-ViewModel) poprzez tzw. markupextensions – możliwość wywołania kodu podczas parsowania XAML.
- Usprawnienia w komunikacji sieciowej:
- zmniejszone opóźnienia sieciowe dzięki wykorzystaniu specjalnego wątku działającego w tle,
- bardzo oczekiwana obsługa WS-Trust – tokeny uwierzytelniające SAML.
- Optymalizacja parsera XAML – zwiększenie wydajności startu i działania aplikacji.
- 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).
- Grafika:
- wyjątkowo oczekiwane API do grafiki 3D (akcelerowane przez GPU),
- API pozwalające bezpośrednio renderować grafikę na GPU,
- akceleracja sprzętowa w trybie windowless na Internet Explorer 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:
- wyświetlanie zawartości HTML,
- dostęp do systemu plików (katalog My Documents),
- uruchamianie programów – np. możliwe będzie automatyczne utworzenie dokumentu Word i wysłanie go za pomocą aplikacji Outlook,
- dostęp do obiektów COM – np. obsługa zewnętrznych urządzeń.
- Aplikacje działające poza przeglądarką internetową (Out Of Browser):
- uruchamianie kodu natywnego poprzez P/Invoke bezpośrednio z aplikacji Silverlight,
- możliwość wyświetlania dodatkowych okien aplikacji.
- Usprawnienia w narzędziach:
- specjalne narzędzia profilujące w Microsoft Visual Studio, monitorujące obciążenie CPU, zużycie pamięci, zakleszczenia wątków,
- 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