Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

| Basel MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG.

Ähnliche Präsentationen


Präsentation zum Thema: "| Basel MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG."—  Präsentation transkript:

1 | Basel MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG

2 Thomas Claudius Huber Principal Consultat bei Trivadis Trainer, Coach, Developer, Architect Spezialisiert auf XAML, WPF, UI Microsoft MVP im Bereich Client Development Autor umfassender Handbücher WPF, Windows Store Apps und Silverlight

3 Agenda Sessioninhalt MVVM - Grundlagen Portable Class Libraries Tipps & Tricks

4 | Basel MVVM-Grundlagen

5 View Das UI (XAML) ViewModel Model für das UI Enthält Daten & Commands Model Datenobjekte Model ViewModel View Data Binding Referenz

6 Stärken von MVVM Höhere Wartbarkeit UI und UI-Logik sind strikt getrennt Unterstütztung von Unit-Tests ViewModels und die darin enthaltene UI-Logik lassen sich testen Die View lässt sich einfach austauschen

7 Wichtige Klassen und Interfaces ICommand Erlaubt dem UI das Ausführen von Logik im ViewModel Beim MVVM-Pattern kommt eine spezielle Implementierung zum Einsatz Oft als DelegateCommand bezeichnet INotifyPropertyChanged Definiert das PropertyChanged-Event Darüber wird das UI über Änderungen von Properties einer Klasse informiert ObservableCollection für Datensammlungen Implementiert das INotifyCollectionChanged-Interface Dieses benachrichtigt das UI bei einer Änderung der Collection

8 Eine kleine MVVM-Phone-App Demo

9 Neuerungen in.NET 4.5 CallerMemberName-Attribut wurde eingeführt Für optionale Parameter Der Compiler fügt den Namen des Aufrufers automatisch ein, wenn dieser nicht angegeben wird protected virtual void OnPropertyChanged([CallerMemberName]string propertyName = null) { var handler = PropertyChanged; if (handler != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } Demo

10 Agenda Sessioninhalt MVVM - Grundlagen Portable Class Libraries Tipps & Tricks

11 | Basel Portable Class Libraries

12 .NET Frameworks.NET Framework 4.5 Silverlight 5.NET für Windows Store Apps.NET für Windows Phone

13 Portable Class Library Neue Projekt-Vorlage Vefügbar ab Visual Studio 2012 Referenzierbar in verschiedenen Projekten.NET, Windows Store Apps, Windows Phone, Silvelright Vereinfacht eine gemeinsame Codebasis Demo

14 Portable Class Library Feature Matrix Feature.NET Framework 4.5Windows StoreWindows Phone 8Silverlight 5 Core LINQ IQueryable MEF Serialization WCF MVVM Dynamic Keyword...

15 Portable Libraries und MVVM View Das UI (XAML) ViewModel Model für das UI Enthält Daten & Commands Model Datenobjekte Model ViewModel View Data Binding Referenz Plattform -spezifisch Portable Class Library

16 ViewModel und Model in Portable Class Library migrieren Demo

17 Portable Class Library in Windows Store App nutzen Demo

18 Agenda Sessioninhalt MVVM - Grundlagen Portable Class Libraries Tipps & Tricks

19 | Basel Tipps & Tricks

20 Portable Class Library Abstractions Model ViewModel Plattform Abstraktion Windows Store App View Plattform-spezifische Impl. Windows Phone App View Plattform-spezifische Impl. Referenz

21 Abstractions in Portable Library definieren und in Apps implementieren Demo

22 Portable Class Library Abstractions Model ViewModel ITodoItemDataProvider Windows Store App View ITodoItemDataProvider- Imp. Windows Phone App View ITodoItemDataProvider- Imp Referenz

23 Dateien als Link referenzieren WinRT und WinPRT haben gemeinsame Basis Somit lässt sich Code aus Windows Phone 8 in einer Windows Store App wiederverwenden WinRT und WinPRT sind aber kein.NET!!! Somit sind die Gemeinsamkeiten in Portable Class Libraries nicht verfügbar Diese unterstützten nur.NET Schnittmengen In verlinkten Dateien optional mit Compiler- Direktiven wie #if arbeiten So lässt sich plattform-spezifischer Code ein-/ausschalten Jede Plattform hat sog. Conditional Compilation Symbols: Windows_Phone, NETFX_CORE (Windows Store App) Demo

24 Portable Class Library Linked Files Model ViewModel ITodoItemDataProvider Windows Store App View Link Windows Phone App View ITodoItemDataProvider- Imp Referenz

25 Weitere Optimierungen Service Locator in Portable Class Library Dependency Injection Bspw. gibt es das Framework Autofac als Portable Class Library public static class ServiceLocator { public static ITodoItemDataProvider TodoItemDataProvider { get; set; }... }

26 Agenda Sessioninhalt MVVM - Grundlagen Portable Class Libraries Tipps & Tricks

27 Fazit ViewModels und Models lassen sich mit Portable Class Libraries in verschiedensten Projekten nutzen.NET, Windows Phone, Windows Store App und Silverlight Plattform-spezifische Logik mit Abstraktionen Interface in Portable Class Library, Implementierung je Plattform WinRT und WinPRT über verlinkte Dateien

28 Next Session Weitere Infos zur WinPRT und Portable Class Libraries in der Session Uhr: Entwickeln von Windows Phone Unternehmens-Apps Raum: San Francisco

29 Tolle Preise am Trivadis Stand

30 Slides/Samples unter: Mail:


Herunterladen ppt "| Basel MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG."

Ähnliche Präsentationen


Google-Anzeigen