Build Windows 10 UWP MVVM Apps with Prism

Slides:



Advertisements
Similar presentations
Module 1: Creating an Application by Using Windows Presentation Foundation Overview of WPF Creating a Simple WPF Application Handling Events and Commands.
Advertisements

Expression Blend 4 – deep dive
Prism for Windows 8.1 (Building maintainable Windows Store Apps)
Developing HTML5 Application using MVVM pattern Pekka Ylenius.
Dinko Jakovljević Microsoft Student Partner | BambooLab
Essentials of Developing Windows Phone Apps Chinthaka Dissanayake Tech Lead Exilesoft.
Or How I Learned to Stop Worrying and Love the Binding Bryan Anderson.
An Introduction To Silverlight Gergely Orosz
Create Windows ® Applications with.NET Allan Knudsen.NET Developer Evangelist Microsoft.
Real world Windows Phone development Igor
Building Silverlight Applications Using the MVVM pattern An Introduction by Peter Messenger Senior Developer – Qmastor
Shailen Sukul Senior Solutions Architect EMC BSc | Mct | Mcpd (.Net 2/3.5) | Mcts (Sharepoint (MOSS/WSS), Biztalk, Web, Win, Dist Apps) | Mcsd.NET | Mcsd.
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg.
Connect with life Praveen Srvatsa Director | AsthraSoft Consulting Microsoft Regional Director, Bangalore Microsoft MVP, ASP.NET.
Developing Mobile Applications using MVVM with Xamarin Forms
Todd Snyder Development Team Lead Infragistics Experience Design Group.
Smart Clients: What’s New In Orcas? Saurabh Pant Program Manager UI Fx and Services Team
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
Getting Started with Caliburn.Micro and Windows Phone 7 Gary Ewan Park Twitter: Blog:
Object Oriented Software Development 9. Creating Graphical User Interfaces.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
Windows Phone MVVM and Unit Testing Step by Step Andy Wigley Windows Phone Development MVP, Mobile Software Consultant APPA Mundi Ltd WPH208.
Server Control Tips & Tricks Presented by: Patrick Hynds Microsoft Regional Director CriticalSites CTO MCSD, MCSE+I, MCDBA, MCSA, MCP+Site Builder, MCT.
Microsoft Virtual Academy Stacey Mulcahy | Technical Evangelist Christopher Harrison | Content Developer.
Sofia, Bulgaria | 9-10 October ASP.NET: Developing Portal UI With Web Parts Goksin Bakir Yage Ltd Microsoft Regional Director, MEA Goksin Bakir Yage Ltd.
Nikhil Kothari Software Architect Microsoft Corporation Session Code: WUX312.
Windows 10 UWP MVVM In Depth
Securing Angular Apps Brian Noyes
Getting Started with Aurelia
ASP.NET 5 Unleashed Javier Lozano
Model View ViewModel Architecture. MVVM Architecture components.
Solliance ( CTO Microsoft Regional Director Microsoft MVP Pluralsight author t e
Windows 8 apps and the MVVM pattern SILVERLIGHTSHOW.NET WEBINARS SERIES GILL CLEEREN, October 16 th
© Copyright SELA software & Education Labs Ltd Baruch Hirsch St.Bnei Brak Israel
Programming with MVVM Miguel A. Castro Architect -
Vladimir Milev New Venture Software Sharing Code between WPF and Universal Apps.
/DEV/TM #1 Building Cross-Platform Apps with Xamarin and MvvmCross Flavius-Radu DEMIAN.
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
Solliance ( CTO and Co-founder Microsoft Regional Director Microsoft MVP Pluralsight author
Adam Schultz MVVM and WPF. MVVM Model, View, ViewModel A software architecture designed to separate out User Interface design, Business Logic, and Data.
Whats New Xamarin and VC++ with VS 2017
In Windows 8 Store Applications
Real world Windows Phone development
MVVM Made Simple with Prism
Building Custom Workflows
Ben Riga 02 | Basics of View Models Ben Riga
6/10/ :23 PM TOOL-504T A deep dive into Visual Studio 11 Express for designing Metro style apps using XAML Joanna Mason & Unni Ravindranathan Program.
TechEd /26/2018 3:42 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
9/4/2018 5:28 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Did your feature got in, out or planned?
Miguel A. Castro Architect IDesign
Microsoft Ignite /14/ :21 AM BRK2101
Introduction to the MVVM Pattern
Microsoft Build /15/2018 6:28 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
.NET and .NET Core 7. XAML Pan Wuming 2017.
Microsoft Build /24/2018 4:02 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
An introduction to MVVM using WPF NISCHAL S
Rich single page applications with SharePoint
Building event-driven, long-running apps with Windows workflow
Tech Ed North America /1/ :36 AM Required Slide
Intro to Workflow Services and Windows Server AppFabric
TechEd /4/2019 3:19 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Design Guidance for Windows Store Line-of-Business Apps
Architecting Silverlight Applications with MVVM
Enterprise Developer Camp Jumpstart
Build /20/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
05 | An Introduction to AngularJS
Tech Ed North America /6/2019 2:07 PM Required Slide
Ch07 生命週期(Life Cycle).
An Introduction to the Model-View-ViewModel Pattern
Presentation transcript:

Build Windows 10 UWP MVVM Apps with Prism Brian Noyes @briannoyes, brian.noyes@gmail.com Slides and Demos: http://noyes.me/1NminLq

Visual Studio Connections About Brian Noyes CTO and Co-founder, Solliance www.solliance.net Microsoft Regional Director Microsoft MVP Pluralsight author www.pluralsight.com Web API Insider, Windows Azure Insider, Window Store App Insider, C#/VB Insider t e brian.noyes@solliance.net @briannoyes http://briannoyes.net Updates will be available at http://www.devconnections.com/updates/LasVegas_Fall08/VS

UI Separation Patterns Goals Architectural goals Loose coupling Separation of concerns Leads to Maintainability Testability Extensibility Putting all your logic here is not good enough

Prism Overview Framework for building XAML apps OSS Maintainable Testable Extensible OSS Current XAML Targets WPF Windows 10 UWP Xamarin Forms

Prism Versions 2008 2009 2010 2011 2012 2013 2014 2015 2016 Prism 1.0 Prism 2.0 Prism 4.0 Prism 5 Prism 6 for WPF (OSS) Prism 2.1 Prism 4.1 Prism 2.2 MVVM PubSub Events PubSub Events Prism 6 for UWP (OSS) Prism for Windows Runtime Prism for Universal Apps

Prism 6 for UWP Relation to Previous Releases Direct port of the Prism for Windows Runtime (Win8/8.1) versions of Prism Some reorganization and renaming Enhancements to leverage some new UWP features and design guidance

Prism for UWP Key Features MVVM + Extensible Application Structuring Well defined abstractions for different kinds of presentation layer code Views, ViewModels, Models, Bootstrapping, Dependency Injection Communications Loosely coupled communications with events and commands Navigation Layers on top of native UWP navigation and integrates it into the MVVM pattern State Management Lets you identify cached transient objects that you want to have automatically restored when app restarts from suspension and termination Validation Includes a reusable infrastructure for data input validation that ties into data binding and MVVM well

MVVM Structuring View Data Binding ViewModel Model Model Object Model Client Services

MVVM Principals Model View ViewModel Data structures and logic to provide data for presentation View Just the structure of what the user sees on the screen Static and dynamic ViewModel Provides data to the view for binding / presentation Wrapped or exposed model objects Client application state Interaction logic

Prism MVVM Support Commands INotifyPropertyChanged support PubSubEvents InvokeCommandAction InteractionRequest ViewModelLocator

ViewModelLocator Consolidates MVVM hookup responsibilities Select a ViewModeltype to go with a View type that is being loaded Create an instance of that ViewModeltype View.DataContext= ViewModel Convention-based by default Views live in .Views child namespace ViewModelslive in .ViewModels child namespace ViewModelname = View name + “ViewModel” Uses ViewModeldefault constructor Can override View type to ViewModeltype mapping Provide default factory for all ViewModeltypes Provide factory method for individualViewModeltypes

MVVM and UWP Navigation Page Page ViewModel ViewModel INavigationService FrameNavigationService Frame

Application Lifecycle Management UWP application lifecycle states: Not Running Running Suspended ClosedByUser Terminated Not Running Launch Running Launch Launch Switch Back Switch Apps Terminated Suspended ClosedByUser Low Memory Shutdown

Validation UI

Prism Validation Support BindableValidator Manages a collection of errors per property for a data object Raises events when the errors change to support data binding Can evaluate DataAnnotations automatically ValidatableBindableBase Derives from BindableBase Contains a BindableValidator Exposes errors for data binding Triggers validation when properties change HighlightXYZOnErrors behaviors Attached behaviors to show a red box on control when there are errors associated with the bound property

Resources e t Github.com/prismlibrary Pluralsight brian.noyes@solliance.net @briannoyes http://briannoyes.net Resources Github.com/prismlibrary Pluralsight Building Windows Store Business Apps https://app.pluralsight.com/library/courses/building-windows-store-business-applications-prism/table-of-contents https://msdn.microsoft.com/en-us/library/windows/apps/xx130643.aspx Slides and Demos: http://noyes.me/1NminLq

Please use Event Board to fill out a session evaluation. Questions? Please use Event Board to fill out a session evaluation. Thank you!