210 likes | 354 Views
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
E N D
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 • DeepZoom, 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, itunneling). Silverlight wspiera direct ibubbling, niewspiera routed Commands. RoutedEvents w ograniczonymzakresie (m.in.niemoznatworzycwłasnych)
Silverlight vs WPF (cd.) • Kilka róznic w bindingu: SL nie wspiera (obecnie):OneWayToSource, ExplictUpdateSourceTriggers. Dla OneWaydomyślny databindingnie jest zdefiniowany (WPF domyślnie używa trybu określonego przez dependency property). • SL nie wspiera MultiBinding. • SL wspieraXmlDataProviderale 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 IDispatchCOM 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
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(NetworkChange_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: http://msdn.microsoft.com/en-us/bb187401 • Networking and Web Services in Silverlight: http://microsoftpdc.com/Sessions/CL06 • Mastering Microsoft .NET RIA Services : http://microsoftpdc.com/Sessions/CL07 • Building Line of Business Applications with Microsoft Silverlight 4: http://microsoftpdc.com/Sessions/CL19 • Building Amazing Business Applications with Microsoft Silverlight and Microsoft .NET RIA Services: http://microsoftpdc.com/Sessions/CL21 • Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight: http://microsoftpdc.com/Sessions/CL22
Źródła • http://silverlight.net/ • http://channel9.msdn.com/learn/courses/Silverlight4/