SlideShare a Scribd company logo
UniversalApps Development
Part 2/3
Jiri Danihelka
Structuring the solution
• Where did we put Views?
• Where did we put View Models?
• Where did we put Models?
• Where did we put Repositories?
• Where did we put Resources?
• Where did we put View Services?
• Where did we put Behaviors?
Complimentary technologies
• WebAPI
– Popular, standards-oriented service
– Built on top of ASP.Net MVC
– Lightweight transmission
• The Entity Framework
– Provider-based abstraction
• T4 templates
– Code generation templates
– Ideal for boilerpate code
Consuming WebAPI in Windows Runtime
• JSON.Net by NewtonSoft
• Common.Models
• The new Windows.Net.Http.HttpClient
– Fully asynchronous
Validation requirements
• Determine when an object is dirty
• Provide a way to revert to original
• Provide a way to mark as clean
• Allow for complex, custom validation
• Perform validation on a model & property-level
• Expose errors on a model & property-level
Introducing IProperty
Implementing Property<T> : IProperty
1
2
3
4
5
Introducing IModel
Implementing ModelBase: IModel
1
2
3
4
Azure active directory
• Cloud-version of the most popular enterprise authentication
directory
– Subset, fixed schema
– On-premise integration with ADFS
• Single-sign-on with third-party apps
– Salesforce.com, etc.
• Multi-factor authentication
• Application access management
• Service level agreement
• Graph query
Securing your application
• Not all applications have a service
• Users can authenticate against the directory
by requesting access to the graph
– https://graph.windows.net
Your login implementation
• Using the silent login
• Using continuation on the Phone
• Take care of the navigation backstack
• Enabling logout
Securing services
• Services can share a single client token
• Services can be uniquely secured
Module Agenda
• Storage Landscape
• SQLite
• Settings
• Blob storage
• Provisioning Strategies
• What is not included
– System.Data
– SQL CE
• What is included
– System.Web
– Microsoft.Web
– File System
• What is available
– SQLite
• Web Services
– WCF Services
– REST Services
– OData Services
• OneDrive
– Other providers
• Windows Azure
– SQL Database
– Table Storage
– Blob storage
Storage Landscape
Settings Charm
• Windows Store Apps Only
– Phone implements Settings as a Page
– Windows uses Settings Flyout
• Settings, Options, Preferences, Personalization
• Charm not required
• Use a light dismiss
Settings
• Adjusted Occasionally
– Not part of your applications workflow
• Depend on user preferences
– Think through defaults to minimize configuration
• Save immediately – do not use a “Save” or “Apply” button
Adding Settings Commands
• Prism and MvvmAppBase gives us
a convenient extension point:
Using the SettingsFlyout Control

More Related Content

PPTX
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
PPTX
Expose BizTalk to the world (ACSUG)
PPTX
Developing Cross-Platform Web Apps with ASP.NET Core1.0
PPTX
Entity Framework Core 1.0
PPTX
Migration from ASP.NET MVC to ASP.NET Core
PPTX
MVC 6 - the new unified Web programming model
PPTX
Porting ASP.NET applications to Windows Azure
PPTX
Angular4 kickstart
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
Expose BizTalk to the world (ACSUG)
Developing Cross-Platform Web Apps with ASP.NET Core1.0
Entity Framework Core 1.0
Migration from ASP.NET MVC to ASP.NET Core
MVC 6 - the new unified Web programming model
Porting ASP.NET applications to Windows Azure
Angular4 kickstart

What's hot (20)

PPTX
ASP.NET MVC - Latest & Greatest So Far
PPTX
Architecture - why so serious?
PPTX
Entity Framework 7: What's New?
PPTX
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
PPTX
PPTX
Building solutions with the SharePoint Framework - introduction
PPTX
Workflows for share point 2013
PPTX
ASP.NET 5
PPTX
Building solutions with the SharePoint Framework - deep-dive
PDF
Keep Calm And Serilog Elasticsearch Kibana on .NET Core
PDF
Serverless architecture
PDF
Keep Calm And Serilog Elasticsearch Kibana on .NET Core - 132. Spotkanie WG.N...
PPTX
Elk meetup
PPTX
AWS Serverless solution for developers
PPTX
Architecting Single Page Applications
PDF
A modern web centric development-deployment environment
PPTX
What’s new mvc 4
PPTX
Les nouveautés ASP.NET 5 avec Visual Studio 2015
PPTX
Continuous delivery by sergey seletsky
PPTX
ASP.NET MVC 4
ASP.NET MVC - Latest & Greatest So Far
Architecture - why so serious?
Entity Framework 7: What's New?
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Building solutions with the SharePoint Framework - introduction
Workflows for share point 2013
ASP.NET 5
Building solutions with the SharePoint Framework - deep-dive
Keep Calm And Serilog Elasticsearch Kibana on .NET Core
Serverless architecture
Keep Calm And Serilog Elasticsearch Kibana on .NET Core - 132. Spotkanie WG.N...
Elk meetup
AWS Serverless solution for developers
Architecting Single Page Applications
A modern web centric development-deployment environment
What’s new mvc 4
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Continuous delivery by sergey seletsky
ASP.NET MVC 4
Ad

Similar to UWP apps development - Part 2 (20)

PDF
Cloud-native Data
PDF
Cloud-Native-Data with Cornelia Davis
PPTX
12 Factor App Methodology
PPTX
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
PPTX
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
PDF
How to grow your own Microservice?
PDF
Tech Talk on Cloud Computing
PPTX
AngularJS One Day Workshop
PPTX
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
PPTX
Security on AWS, 2021 Edition Meetup
PPTX
Security on AWS, 2021 Edition Meetup
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
PPTX
Tokyo azure meetup #8 - Azure Update, August
PPTX
Tokyo azure meetup #8 azure update, august
PPTX
Cloud patterns at Carleton University
PPTX
.NET microservices with Azure Service Fabric
PDF
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
PPTX
Adopting AWS in your organization - ITPalooza 2015
PPTX
Manage your devices with Azure IoT...and more
Cloud-native Data
Cloud-Native-Data with Cornelia Davis
12 Factor App Methodology
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
How to grow your own Microservice?
Tech Talk on Cloud Computing
AngularJS One Day Workshop
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Security on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition Meetup
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 azure update, august
Cloud patterns at Carleton University
.NET microservices with Azure Service Fabric
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Adopting AWS in your organization - ITPalooza 2015
Manage your devices with Azure IoT...and more
Ad

More from Jiri Danihelka (20)

PDF
Distributed Mobile Graphics
PPTX
Mixed reality for Windows 10
PPTX
New Xaml components for Windows developers
PPTX
MVVM Windows UWP apps with Template 10
PPTX
An introduction to development of universal applications
PPTX
Windows game development with Unity 5
PPTX
Creating great Unity games for Windows 10 - Part 2
PPTX
Creating great Unity games for Windows 10 - Part 1
PPTX
Prism library and MVVM
PPTX
UWP apps development - Part 3
PPTX
UWP apps development - Part 1
PPTX
Designing Windows apps with Xaml
PPTX
Advanced MVVM Windows UWP apps with Template 10
PPTX
Windows UX
PPTX
Blend for Visual Studio 2015
PPTX
Security misconfiguration
PPTX
Windows 10 Mobile and Distributed Graphics
PPTX
Security hardening and drown attack prevention for mobile backend developers
PPTX
Top 10 security risks for mobile backend developers
PPTX
Programování Windows 8
Distributed Mobile Graphics
Mixed reality for Windows 10
New Xaml components for Windows developers
MVVM Windows UWP apps with Template 10
An introduction to development of universal applications
Windows game development with Unity 5
Creating great Unity games for Windows 10 - Part 2
Creating great Unity games for Windows 10 - Part 1
Prism library and MVVM
UWP apps development - Part 3
UWP apps development - Part 1
Designing Windows apps with Xaml
Advanced MVVM Windows UWP apps with Template 10
Windows UX
Blend for Visual Studio 2015
Security misconfiguration
Windows 10 Mobile and Distributed Graphics
Security hardening and drown attack prevention for mobile backend developers
Top 10 security risks for mobile backend developers
Programování Windows 8

Recently uploaded (20)

PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPT
JAVA ppt tutorial basics to learn java programming
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
System and Network Administration Chapter 2
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Transform Your Business with a Software ERP System
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
L1 - Introduction to python Backend.pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
DOCX
The Five Best AI Cover Tools in 2025.docx
PDF
System and Network Administraation Chapter 3
PPTX
Essential Infomation Tech presentation.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo POS Development Services by CandidRoot Solutions
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Upgrade and Innovation Strategies for SAP ERP Customers
JAVA ppt tutorial basics to learn java programming
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
System and Network Administration Chapter 2
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Transform Your Business with a Software ERP System
How Creative Agencies Leverage Project Management Software.pdf
L1 - Introduction to python Backend.pptx
top salesforce developer skills in 2025.pdf
Understanding Forklifts - TECH EHS Solution
The Five Best AI Cover Tools in 2025.docx
System and Network Administraation Chapter 3
Essential Infomation Tech presentation.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Online Work Permit System for Fast Permit Processing
Adobe Illustrator 28.6 Crack My Vision of Vector Design

UWP apps development - Part 2

  • 2. Structuring the solution • Where did we put Views? • Where did we put View Models? • Where did we put Models? • Where did we put Repositories? • Where did we put Resources? • Where did we put View Services? • Where did we put Behaviors?
  • 3. Complimentary technologies • WebAPI – Popular, standards-oriented service – Built on top of ASP.Net MVC – Lightweight transmission • The Entity Framework – Provider-based abstraction • T4 templates – Code generation templates – Ideal for boilerpate code
  • 4. Consuming WebAPI in Windows Runtime • JSON.Net by NewtonSoft • Common.Models • The new Windows.Net.Http.HttpClient – Fully asynchronous
  • 5. Validation requirements • Determine when an object is dirty • Provide a way to revert to original • Provide a way to mark as clean • Allow for complex, custom validation • Perform validation on a model & property-level • Expose errors on a model & property-level
  • 7. Implementing Property<T> : IProperty 1 2 3 4 5
  • 10. Azure active directory • Cloud-version of the most popular enterprise authentication directory – Subset, fixed schema – On-premise integration with ADFS • Single-sign-on with third-party apps – Salesforce.com, etc. • Multi-factor authentication • Application access management • Service level agreement • Graph query
  • 11. Securing your application • Not all applications have a service • Users can authenticate against the directory by requesting access to the graph – https://graph.windows.net
  • 12. Your login implementation • Using the silent login • Using continuation on the Phone • Take care of the navigation backstack • Enabling logout
  • 13. Securing services • Services can share a single client token • Services can be uniquely secured
  • 14. Module Agenda • Storage Landscape • SQLite • Settings • Blob storage • Provisioning Strategies
  • 15. • What is not included – System.Data – SQL CE • What is included – System.Web – Microsoft.Web – File System • What is available – SQLite • Web Services – WCF Services – REST Services – OData Services • OneDrive – Other providers • Windows Azure – SQL Database – Table Storage – Blob storage Storage Landscape
  • 16. Settings Charm • Windows Store Apps Only – Phone implements Settings as a Page – Windows uses Settings Flyout • Settings, Options, Preferences, Personalization • Charm not required • Use a light dismiss
  • 17. Settings • Adjusted Occasionally – Not part of your applications workflow • Depend on user preferences – Think through defaults to minimize configuration • Save immediately – do not use a “Save” or “Apply” button
  • 18. Adding Settings Commands • Prism and MvvmAppBase gives us a convenient extension point: