MVVM in Windows 8 und Windows Phone 8

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Microsoft Referenzarchitekturen- Infrastruktur für Connected Systems
Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH Dirk Primbs.
Windows Vista für Entwickler
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Objektrelationales Mapping mit JPA Entity Mapping Jonas Bandi Simon Martinelli.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich
F açade P attern By Nicolas Lanquetin. Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems.
.NET – Quo Vadis? Dariusz Parys Developer Group Microsoft GmbH.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
Presenter: Daniel Walzenbach Technologieberater
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Divide and Conquer Eclipse RCP und Spring in verteilten Anwendungen Stefan Reichert | Lufthansa Systems Benjamin Pasero | IBM Rational.
© Zühlke 2011 Martin Kutz XingApp - Cross Platform Cross Platform Tests mit Mono am Beispiel der XING App 22. November 2011 Folie 1 von 14.
Formatvorlage des Untertitelmasters durch Klicken bearbeiten Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner: Web Content Management.
Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max.
Microsoft Office Forms Server
Entwickeln einer Windows 8 Modern UI Businessapplikation auf der Basis von Dynamics CRM/xRM Christian Haller Marc Sallin isolutions AG isolutions.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Fesselspiele Data Binding in WPF und Silverlight
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler
Workshop WPF für Windows-Entwickler
OO implementieren Teil IV Objekte erzeugen. © René ProbstModul 226IV - 2 Von der Klasse zum Objekt Plan Bau Objekt Klasse Instanzierung Objekt Das Objekt.
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
Test Driven Development - Romano Adler-
Automated Software Testing
3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh.
Michael Köster User Experience Specialist Microsoft Corporation.
Projekt Alcatraz Java RMI / Spread - Gruppe A4.
Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Developer Day Webseiten auf Windows Azure hosten Britta Labud bbv Software Services AG Roland Krummenacher bbv Software Services AG.
Automatisches Testen ohne Frust mit CodedUI
Das Model-View-ViewModel-Pattern
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Entwickeln von Windows Phone Unternehmens-Apps
| Basel Developing apps for SharePoint 2013 using Visual Studio 2013 René Modery, Office 365 MVP, 1stQuad Solutions.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
2012 © Trivadis BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN Welcome November 2012 Highlights BI.
Reiner Ganser Solution Architect 1stQuad Solutions GmbH Presentation Subtitle.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Thomas Claudius Huber Senior Consultant Trivadis AG Silverlight 5 die Neuerungen.
Dominick Baier Security Consultant thinktecture. 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten.
Cooperation unlimited © Zühlke August 2008 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Line of Business Applikationen mit SharePoint 2010 und Silverlight 4
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 11 Folie 2 Model-View-ViewModel s.a.
Uwe Habermann Venelina Jordanova Professioneller Einstieg in eine neue Welt!
XML IV: Cocoon 2.
Jan-Cornelius Molnar Student Partner.
Softwaresponsoren Mediasponsoren. Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis.
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
Compiled Queries: LINQ-Abfragen mit Pegasus-Stiefeln © msg systems ag, August Gordon Breuer IT Consultant & Software Engineer Travel & Logistics.
Veranstalter: Building & Connecting Know-how Februar 2011, München Partner: WP7: Mehr als nur SL und XNA.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
© All rights reserved. Zend Technologies, Inc. Jenseits von var_dump(): Debugging in ZF Jan Burkl System Engineer.
Caliburn.Micro.
Common Language Runtime Seminar Softwareentwicklung Wintersemester 2003 Gertraud Orthofer
Developer Day Deep Dive into WinRT-Controls: FlipView, ListView, GridView and SemanticZoom Thomas Claudius Huber Principal Consultant, Trivadis AG
Thomas Claudius Huber Senior Consultant Trivadis AG WCF RIA Services Datengetriebene Apps.
Romano Roth & Oliver Brack Zühlke Engineering AG.
Java 7 Änderungen in der neuen Version Thomas Nagel 17. Juni 2012.
 Präsentation transkript:

MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG

Thomas Claudius Huber Principal Consultat bei Trivadis www.trivadis.com www.thomasclaudiushuber.com 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

Sessioninhalt MVVM - Grundlagen Portable Class Libraries Tipps & Tricks

MVVM-Grundlagen

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

Stärken von MVVM Höhere Wartbarkeit Unterstütztung von Unit-Tests 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

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<T> für Datensammlungen Implementiert das INotifyCollectionChanged-Interface Dieses benachrichtigt das UI bei einer Änderung der Collection

Eine kleine MVVM-Phone-App Demo

Neuerungen in .NET 4.5 CallerMemberName-Attribut wurde eingeführt Demo 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

Sessioninhalt MVVM - Grundlagen Portable Class Libraries Tipps & Tricks

Portable Class Libraries

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

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

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

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

ViewModel und Model in Portable Class Library migrieren Demo

Portable Class Library in Windows Store App nutzen Demo

Sessioninhalt MVVM - Grundlagen Portable Class Libraries Tipps & Tricks

Tipps & Tricks

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

Abstractions in Portable Library definieren und in Apps implementieren Demo

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

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

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

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; } ... }

Sessioninhalt MVVM - Grundlagen Portable Class Libraries Tipps & Tricks

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

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

Tolle Preise am Trivadis Stand

www.thomasclaudiushuber.com/talks.php Slides/Samples unter: 3/28/2017 8:12 PM Slides/Samples unter: www.thomasclaudiushuber.com/talks.php Twitter: @thomasclaudiush Mail: thomas.huber@trivadis.com © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.