Realizacja aplikacji internetowych Silverlight
Silverlight – krótka historia Silverlight 1 beta - wiosna 2007 Silverlight 2 beta – wiosna 2008 produkcja – jesień 2008 Silverlight 3 beta – wiosna 2009 produkcja – czerwiec 2009 Silverlight 4 beta – jesień 2009 RC – 15 marzec 2010 produkcja – 15 kwiecień 2010 Silverlight 5 jesień 2011 Adopcja ?... sie podwaja
Silverlight vs WPF SL jest generalnie podzbiorem WPF z wyjatkiem: Visual State Manager – zmigrował do WPF Deep Zoom, Media Stream Source, webcam i microphone APIs SL bazuje na CoreCLR np.: String.Split() ma 3 wersje w SL i 6 w CLR Wszystkie klasy w WPF wywodza się z klasy Visual a w SL z Control. WPF wspiera 3 typy routed events (direct, bubbling, i tunneling). Silverlight wspiera direct i bubbling, nie wspiera routed Commands. Routed Events w ograniczonym zakresie (m.in.nie mozna tworzyc własnych)
Silverlight vs WPF (cd.) Kilka róznic w bindingu: SL nie wspiera (obecnie): OneWayToSource, Explict UpdateSourceTriggers. Dla OneWay domyślny databinding nie jest zdefiniowany (WPF domyślnie używa trybu określonego przez dependency property). SL nie wspiera MultiBinding. SL wspiera XmlDataProvider ale nie wspiera ObjectDataProvider. SL pozwala jedynie na wołania asynchroniczne (WPF pozwala na dowolne aktywności). SL nie wspiera XPS Documents, Speech, 3D
Silverlight 1 Code Name WPF/E(verywhere) Użycie javascriptu + obsługa mediów vide HiRes Wsparcie dla niewielkiego podzbioru xaml-a
Silverlight 2 "Poważna" implementacja podzbioru.NET Duży zbiór kontrolek Rozszerzone możliwości strumieniowania wideo Narzędzia
Silverlight 3 Obsługa mediów Lepsze wrażenia wizualne Aplikacje biznesowe RIA Praca poza przeglądarką Narzędzia
Silverlight 4 Aplikacje biznesowe (drukarka) Media: m.in H.264. Praca poza przegladarką: m.in. trusted model (mniej ograniczeń przy dostępie do plików, dostęp do IDispatch COM Automation
Silverlight 5 Wektorowe API drukowania (PostScript) 3D z akceleracją sprzętową Usprawnione renderowanie tekstu Wsparcie dla 64bitowych systemów
SL - aplikacja Manifest + Dllki spakowane ZIP = XAP Możliwe jest doczytywanie modułów na żądanie Assemblies mogą być cacheowane
SL – moduły ladowane na życzenie Definiowanie modułu: using Microsoft.Practices.Composite.Modularity; public class MyModuleModule : IModule {... public void Initialize() {... } } Katalog modułów: kod, xaml Ładowanie: moduleManager.LoadModule("MyModule");
SL - Praca z danymi Bindowanie elementów do ViewModel WCF.NET WCF RIA Services ASP.NET MVC – rest data service
Praca offline - OOB
SL3 - Praca poza przeglądarką Instalowanie i uruchamianie z pulpitu MAC / Windows Menu start, pulpit Nie wymagane uprawnienia administratora Bezpieczna, wyizolowana przestrzeń (sandbox) Większa przestrzeń dyskowa: 25 MB Środowisko zbliżone do przeglądarki Usuwanie -> prawy przycisk / remove Domyślnie nie jest usuwany Isolated Storage
SL3 - Praca offline Praca offline Możliwosć sprawdzania stanu połączenia Synchronizacja, itp. // Sprawdzanie stanu połączenia NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkCh ange_NetworkAddressChanged); bool connected = NetworkInterface.GetIsNetworkAvailable();
SL3 - Silverlight out-of-browser Automatyczna aktualizacja // Wymuszenie sprawdzenia dostępności aktualizacji //(nowy XAP) Application.Current.CheckAndDownloadUpdateAsync(); // Po zakończeniu sprawdzania i pobierania //(brak możliwości separacji) CheckAndDownloadUpdateCompleted // CheckAndDownloadUpdateCompletedEventArgs // e.UpdateAvailable (bool) – jeśli jest aktualizacja // Podczas kolejnego startu – //instalacja pobranej aktualizacji
Cross – domain call SL jest obiety zakazem wołań do innej domeny niż ta z której został pobrany Rozwiazanie serwer WWW – proxy Praca w trybie OOB
Media Raw AV –dekodowanie strumienia poza środowiskiem wykonawczym - Wsparcie dla zewnętrznych kodeków Offline DRM Deep zoom + pivot IIS Smoth streaming Mp4 DRM Obsługuje przemysłowe standardy H264 and AAC-LC Ochrona strumienia wyjściowego WebCam Dostęp do surowego strumienia audio i wideo API do wyboru urządzeń
Struktura GUI Mdvanced MVVM – Josh Smith Prism Caliburn, Caliburn.Micro
Oglądanki na dobranoc Microsoft Silverlight 5: Networking and Web Services in Silverlight: Mastering Microsoft.NET RIA Services : Building Line of Business Applications with Microsoft Silverlight 4: Building Amazing Business Applications with Microsoft Silverlight and Microsoft.NET RIA Services: Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight:
Źródła