Zgodnie z zapowiedzią z poprzedniego posta opublikowałem swoją rozpiskę o Silverlight 5. Umieściłem ją w całej okazałości na swoim drugim blogu, który postanowiłem po pewnej przerwie reaktywować. Rozpiska w sumie okazała więcej niż zwykłą rozpiską, bo obfituje w pogrupowane tematycznie linki oraz zawiera sample, jakie sobie potworzyłem, by wypróbować różne nowości i czegoś przy tej okazji się nauczyć (w kilku przypadkach odstąpiłem od tworzenia dysponując niezłymi przykładami z sieci). Uzyskałem całkiem spore pokrycie, choć takie grube tematy jak grafika 3D czy PivotViewer zostawiłem sobie na inną okazję.
Skoro już się naprodukowałem o sporej części SL5 w ramach Reactivation!!! New features in Silverlight 5 Beta + Links + Samples - Part I (co prawda nie opisałem tego wszystkiego, co wyczytałem z tych linków, ale wtedy to mogłaby powstać już z tego książka albo co najmniej kilka artykułów), tutaj nie mam ambicji pisania o wszystkim i skupię się na kilku, najbardziej kręcących mnie przykładach.
Zacznijmy od multimediów. W przypadku SoundEffect na warsztat wziąłem swój wcześniejszy przykład z Windows Phone 7. Dynamiczna korekta dźwięku nadal działa! Nawet lepiej, bo nie muszę jawnie emulować pętli gry.
Na drugi rzut poszedł Trick Play. Na załączonym zdjęciu odtwarzam sobie nagranie video ponad 2 razy szybciej niż normalnie, można też zwalniać. Jedynym mankamentem jest to, że w Becie wyłącza się audio przy szybkości odtwarzania innej niż 1.
No i teraz pora na zaufane aplikacje. W przypadku hostowania w przeglądarce jest to trochę przekombinowane, bo aplikacja i tak musi być skonfigurowana jako … out of browser (jeśli chcemy możemy ukryć opcję instalacji z prawego menu). Inna sprawa, że w Becie ta funkcjonalność działa wyłącznie w Windows. Komunikat pokazywany przez kontrolkę WebBrowser sugeruje, że potrzebujemy przeglądarki Internet Explorer.
Jeśli uruchomimy aplikację za pomocą Visual Studio, możemy się już cieszyć rozszerzoną funkcjonalnością w przeglądarce. Ale hola, nie o to chodzi! W typowych dla klienta warunkach aplikacja nie jest hostowana na adresie localhost czy 127.0.0.1 i wtedy możemy zobaczyć to, co na poniższym screenshocie.
Aby cieszyć się hostowanym HTML w aplikacji Silverlight w przeglądarce, musi być ona podpisana poprawnym certyfikatem, a w rejestrze związanym z Silverlight musi być ustawiony wpis zezwalający na uruchamianie aplikacji w przeglądarce. Mike Taulty wyczerpująco krok po kroku opisał wszystkie czynności na swoim blogu. Nie jest to trudne do skonfigurowania i aplikacja działa z większymi uprawnieniami. Pewną ciekawostką jest, że – przynajmniej obecnie – okienko notyfikacji działa także wtedy, kiedy aplikacja wykonuje się w przeglądarce!
Aha, uporządkujmy jeszcze jedną sprawę. Zaufane aplikacje działające w przeglądarce nie są dokładnym odpowiednikiem zaufanych działających poza przeglądarką. Po pierwsze są warunkiem na hosting HTML-a (poza przeglądarką nie potrzebujemy do tego większych uprawnień), nie wspierają funkcjonalności typowych dla aplikacji out of browser (np. nie możemy używać klasy Window). Rzecz druga – przeglądarka może ograniczać rzeczywiste uprawnienia naszej zaufanej aplikacji (np. Internet Explorer w trybie protected). To proces przeglądarki ostatecznie hostuje naszą aplikację.
Pokazywany wyżej przykład zbudowałem na bazie swojego przykładu z czasów Silverlighta 4 (od tamtego czasu YouTube wprowadziło restrykcje i zastąpiłem je Channel 9). Z tamtych czasów pamiętam też bardzo fajną aplikację Microsoftu z puzzlami. Pozwoliłem ją sobie przerobić na nowszą wersję Silverlight, by działała także w przeglądarce.
Zaufane aplikacje w Silverlight 5 mają nieograniczony dostęp do całego systemu plików, także w przeglądarce. W Silverlight 4 poza przeglądarką … też było to możliwe, tylko trzeba było “natrudzić się” z użyciem komponentów COM.
Do sprawdzenia tej funkcjonalności posłużyła mi przeróbka mojego drugiego przykładu z czasów Silverlight 4. Obrazki teraz są wczytywane z dowolnej lokalizacji wpisywanej w polu tekstowym. Jako ciekawostkę mogę powiedzieć, że przypadkiem natrafiłem na swoim laptopie na zdjęcia, które robiłem 2 lata temu przy okazji mojej wyprawy na spotkanie grupy w Katowicach i to one znalazły się na poniższym screenshocie.
Na koniec zostawiłem rzecz – moim zdaniem - wielce efektowną w porównaniu do Silverlight 4. Ostatnio omawiany przeze mnie przykład przerobiłem na aplikację z wieloma natywnymi oknami (zawartość każdej z zakładek trafiła na oddzielne okno). Aplikacje w Silverlight mogą więc coraz więcej! Warto to podkreślać, bo nadal dla wielu osób Silverlight kojarzy się z wtyczką do przeglądarki i substytutem HTML. Czy w HTML5 możemy pisać takie aplikacje?
To nie wszystko! Postanowiłem iść na całość i opracowałem wersję z własnoręcznie ostylowanymi oknami. Wzór okna wziąłem z przykładu z czasów Silverlight 4, ale przepisałem do na bardziej uniwersalny sposób, by współdzielić kontrolkę pustego okna pomiędzy wszystkimi okienkami. Taka aplikacja najlepiej pokazuje różnicę między HTML a Silverlight.
Kończę na dzisiaj pisanie, bo … zaczynam prace nad materiałem na kolejnego posta.
Brak komentarzy:
Prześlij komentarz