SlideShare a Scribd company logo
1 of 23
UniversalApps Development
Part 1/3
Jiri Danihelka
What is a universal app?
• You can build an app that targets
Windows and Windows Phone
• It is not (currently):
– A single binary
– A non-Windows binary (Xamarin) application
• Targeting iOS
• Targeting Android
– An HTML/JavaScript (Cordova) application
What does it mean to be universal?
The consumer promise
• Similar theme
• Common experience
• Shared authentication
• Shared data/profile
• Single app purchase
• Single IAP purchase
Tailoring the experience
What does it mean to be universal?
The Windows Store perspective
• Shared package full name
• Single app purchase
• Single IAP purchase
• Roaming data
• Shared notification channel
What does it mean to be universal?
The Visual Studio perspective
• Shared project-type
– A new feature or bug in one
project, everything is updated
• Still possible to tailor
• Reusing code is meaningful
because of unified APIs
Solution 'App1'
App1_Phone81
App1_Windows81
Class1.cs
Page1.xaml
Asset1.png
Class1.cs
Page1.xaml
Asset1.png
App.xaml
App.xaml
Solution 'App1'
App1_Phone81
App1_Windows81
MyData.cs
MyData.cs
MyWebservice
MyData.cs
Linked files
for sharing source code
Solution 'App1'
App1_Phone81
App1_Windows81
Class1.cs
Page1.xaml
Asset1.png
References
App1_Shared
References
App1_Shared
App1_Shared
App.xaml
Shared Projects
for sharing source code
Solution 'App1'
App1_Phone81
App1_Windows81
Class1.cs
Page1.xaml
Asset1.png
References
App1_PCL
References
App1_PCL
App1_PCL
App.xaml
App.xaml
.NET PCLs
for sharing binaries
Types of sharing
Linked files
in a super-crazy way
Solution 'App1'
App1_Phone81
App1_Windows81
Class1.cs
Page1.xaml
Asset1.png
Class1.cs
Page1.xaml
Asset1.png
App.xaml
App.xaml
Solution 'App1'
App1_Phone81
App1_Windows81
MyData.cs
MyData.cs
MyWebservice
MyData.cs
Linked files
for sharing source code
Solution 'App1'
App1_Phone81
App1_Windows81
Class1.cs
Page1.xaml
Asset1.png
References
App1_Shared
References
App1_Shared
App1_Shared
App.xaml
Shared Projects
for sharing source code
Solution 'App1'
App1_Phone81
App1_Windows81
Class1.cs
Page1.xaml
Asset1.png
References
App1_PCL
References
App1_PCL
App1_PCL
App.xaml
App.xaml
.NET PCLs
for sharing binaries
Types of sharing
Linked files
in a super-crazy way
Consider…
• Linked files
– It’s all manual
• Shared projects
– Basically MSBuild
• Portable class libraries
– Lowest common denominator
Rules of thumb
• Compilation directives
– Can make code difficult to read
– Solves small, quick-hit platform problems
• Partial classes
– Makes it easy to isolate platform code
– Difficult to see the entirety of your code
• Base classes
– Familiar concept to most programmers
– Partial and abstract methods are options
Three XAML strategies
Solution 'App1'
App1_Phone81
App1_Windows81
LoginPage.xaml
References
App1_Shared
References
App1_Shared
App1_Shared
Solving styles
Faking themes 
Adaptive nirvana
Most reuse, least likely
Solution 'App1'
App1_Phone81
App1_Windows81
References
App1_Shared
References
App1_Shared
MainPage.xaml
MainPage.xaml
Device-specific
Least friction, most likely
LoginPage.xaml
App1_Shared
MainPage.xaml
Solution 'App1'
App1_Phone81
App1_Windows81
LoginPage.xaml
References
App1_Shared
References
App1_Shared
App1_Shared
MainPage.xaml
Dictionary.xaml
Dictionary.xaml
Strategies to manage platform-specific visibility
Reality check
• Don’t expect to save time writing XAML
• Do expect to save time writing implementation code
Module recap
• Code sharing strategies
• Platform-specific code
• Sharing XAML
Module Agenda
• Platform capabilities
• Device variability
• Design considerations
Windows
• Print contract
• New window
• Search Box
• App Bar
Phone
• Call dialog
• Back button
• Status Bar
• Pivot control
Platform-specific capabilities
Accessibility
• UI automation
– Accessibility checker
• Assistive technologies
– On screen keyboard, only Keyboard
– Voice recognition, varying input
– Screen readers, varying output
• Theme Resources
– High contrast
– Variable Fonts
• Media captioning
• Customizing controls
– Automation peers (IValueProvider)
– Accessibility names / Label(Name) / View(Raw) / LiveRegion
What if the user…?
The emulator is sufficient
for flow verification.
Follow standard
approaches with controls
What if the device is…?
40”
30”
24”
18”
14”
10”
8”
6”
4”
The emulator is insufficient
for asset verification.
Avoid adding additional
scaling to your own assets.
Don’t overthink it. If it
looks good, you’re done.
It’s up to you to set the
expected size of assets.
Designing with a common visual vocabulary
TT
Which design assets to share
Windows
• Assets
• Scaled Images
• Dictionaries
• Templates.xaml
• FontSizes.xaml
• Controls.xaml
• Platform.xaml
• Views
• Main.xaml
• Detail.xaml
• Settings.xaml
Phone
• Assets
• Scaled Images
• Dictionaries
• Templates.xaml
• FontSizes.xaml
• Controls.xaml
• Platform.xaml
• Views
• Main.xaml
• Detail.xaml
• Settings.xaml
Shared
• Images
• Simple Images
• Dictionaries
• Brushes.xaml
• FontFamilies.xaml
• Views
• Login.xaml
• WidePage.xaml
• NarrowPage.xaml

More Related Content

Similar to UWP apps development - Part 1

Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1
drudolph11
 

Similar to UWP apps development - Part 1 (20)

Cross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinCross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and Xamarin
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Android
AndroidAndroid
Android
 
Android ppt
Android ppt Android ppt
Android ppt
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdf
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataforma
 
Windows Phone Programming
Windows Phone ProgrammingWindows Phone Programming
Windows Phone Programming
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst Platform
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpoint
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform development
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1
 
Android based os
Android based osAndroid based os
Android based os
 
Infinum Android Talks #09 - Xamarin platform
Infinum Android Talks #09 - Xamarin platformInfinum Android Talks #09 - Xamarin platform
Infinum Android Talks #09 - Xamarin platform
 
Android App Developement
Android App DevelopementAndroid App Developement
Android App Developement
 

More from Jiri Danihelka

More from Jiri Danihelka (20)

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

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

UWP apps development - Part 1

  • 2. What is a universal app? • You can build an app that targets Windows and Windows Phone • It is not (currently): – A single binary – A non-Windows binary (Xamarin) application • Targeting iOS • Targeting Android – An HTML/JavaScript (Cordova) application
  • 3. What does it mean to be universal? The consumer promise • Similar theme • Common experience • Shared authentication • Shared data/profile • Single app purchase • Single IAP purchase
  • 5. What does it mean to be universal? The Windows Store perspective • Shared package full name • Single app purchase • Single IAP purchase • Roaming data • Shared notification channel
  • 6. What does it mean to be universal? The Visual Studio perspective • Shared project-type – A new feature or bug in one project, everything is updated • Still possible to tailor • Reusing code is meaningful because of unified APIs
  • 7. Solution 'App1' App1_Phone81 App1_Windows81 Class1.cs Page1.xaml Asset1.png Class1.cs Page1.xaml Asset1.png App.xaml App.xaml Solution 'App1' App1_Phone81 App1_Windows81 MyData.cs MyData.cs MyWebservice MyData.cs Linked files for sharing source code Solution 'App1' App1_Phone81 App1_Windows81 Class1.cs Page1.xaml Asset1.png References App1_Shared References App1_Shared App1_Shared App.xaml Shared Projects for sharing source code Solution 'App1' App1_Phone81 App1_Windows81 Class1.cs Page1.xaml Asset1.png References App1_PCL References App1_PCL App1_PCL App.xaml App.xaml .NET PCLs for sharing binaries Types of sharing Linked files in a super-crazy way
  • 8. Solution 'App1' App1_Phone81 App1_Windows81 Class1.cs Page1.xaml Asset1.png Class1.cs Page1.xaml Asset1.png App.xaml App.xaml Solution 'App1' App1_Phone81 App1_Windows81 MyData.cs MyData.cs MyWebservice MyData.cs Linked files for sharing source code Solution 'App1' App1_Phone81 App1_Windows81 Class1.cs Page1.xaml Asset1.png References App1_Shared References App1_Shared App1_Shared App.xaml Shared Projects for sharing source code Solution 'App1' App1_Phone81 App1_Windows81 Class1.cs Page1.xaml Asset1.png References App1_PCL References App1_PCL App1_PCL App.xaml App.xaml .NET PCLs for sharing binaries Types of sharing Linked files in a super-crazy way
  • 9. Consider… • Linked files – It’s all manual • Shared projects – Basically MSBuild • Portable class libraries – Lowest common denominator
  • 10. Rules of thumb • Compilation directives – Can make code difficult to read – Solves small, quick-hit platform problems • Partial classes – Makes it easy to isolate platform code – Difficult to see the entirety of your code • Base classes – Familiar concept to most programmers – Partial and abstract methods are options
  • 11. Three XAML strategies Solution 'App1' App1_Phone81 App1_Windows81 LoginPage.xaml References App1_Shared References App1_Shared App1_Shared Solving styles Faking themes  Adaptive nirvana Most reuse, least likely Solution 'App1' App1_Phone81 App1_Windows81 References App1_Shared References App1_Shared MainPage.xaml MainPage.xaml Device-specific Least friction, most likely LoginPage.xaml App1_Shared MainPage.xaml Solution 'App1' App1_Phone81 App1_Windows81 LoginPage.xaml References App1_Shared References App1_Shared App1_Shared MainPage.xaml Dictionary.xaml Dictionary.xaml
  • 12. Strategies to manage platform-specific visibility
  • 13. Reality check • Don’t expect to save time writing XAML • Do expect to save time writing implementation code
  • 14. Module recap • Code sharing strategies • Platform-specific code • Sharing XAML
  • 15. Module Agenda • Platform capabilities • Device variability • Design considerations
  • 16. Windows • Print contract • New window • Search Box • App Bar Phone • Call dialog • Back button • Status Bar • Pivot control Platform-specific capabilities
  • 17. Accessibility • UI automation – Accessibility checker • Assistive technologies – On screen keyboard, only Keyboard – Voice recognition, varying input – Screen readers, varying output • Theme Resources – High contrast – Variable Fonts • Media captioning • Customizing controls – Automation peers (IValueProvider) – Accessibility names / Label(Name) / View(Raw) / LiveRegion
  • 18. What if the user…? The emulator is sufficient for flow verification. Follow standard approaches with controls
  • 19. What if the device is…? 40” 30” 24” 18” 14” 10” 8” 6” 4” The emulator is insufficient for asset verification. Avoid adding additional scaling to your own assets. Don’t overthink it. If it looks good, you’re done. It’s up to you to set the expected size of assets.
  • 20.
  • 21.
  • 22. Designing with a common visual vocabulary TT
  • 23. Which design assets to share Windows • Assets • Scaled Images • Dictionaries • Templates.xaml • FontSizes.xaml • Controls.xaml • Platform.xaml • Views • Main.xaml • Detail.xaml • Settings.xaml Phone • Assets • Scaled Images • Dictionaries • Templates.xaml • FontSizes.xaml • Controls.xaml • Platform.xaml • Views • Main.xaml • Detail.xaml • Settings.xaml Shared • Images • Simple Images • Dictionaries • Brushes.xaml • FontFamilies.xaml • Views • Login.xaml • WidePage.xaml • NarrowPage.xaml