nick.landry@microsoft.com
www.AgeofMobility.com
@ActiveNick



 http://www.bigbaldapps.com







 www.AgeofMobility.com
 @ActiveNick
2005-2014
Windows brings apps to life
Windows provides apps with more ways to engage users,
both on device and across all of their Windows screens
Design once to engage everywhere
Developers can use universal Windows apps to design an
one app that can target every Windows screen
Build faster with Visual Studio
New shared projects for Universal Windows apps allow
developers to share as much or as little between Windows
and Windows Phone projects
Converged web browser
• WP 7.5 shipped with IE9
• Same rendering + JavaScript engine
Aligned user experience
• Modern UI on WP + Xbox 360
Aligned dev platform
• Games: DirectX; XNA
• Apps: XAML + XAML (WPF; SL)
Converged core (NT kernel)
• Common kernel & file system
• Converged driver model
• Converged networking stack
• Secure boot & storage encryption
(BitLocker)
Aligning user experience
• Live tiles on Windows
Aligning the dev platform
• Aligned UI frameworks:
XAML; DirectX; C++
• Converged API for sensors & IAP
• Converged Web Browser: IE10
Converged dev platform
• Converged WinRT app model
on Windows, Windows Phone, Xbox
• Converged roaming + credentials
• Better HTML5/web support via IE
Aligning the Stores
 Aligned processes and policies
 Shared dev registration
• Shared entitlement
Improved App Experience
• Proximity & location frameworks
• Security & identity
• Background execution
| |
A converged developer platform enables you to do more with the same code and skillset
Universal Windows apps
• One Visual Studio solution with three nodes
• Two UI node (One for phone; one for client)
• One shared code node (WinRT apps only)
Linked apps
Devs can be link their Store apps using a common
PFN (Product Family Number) across client + phone
New tooling and app linking makes it easy to engage everywhere
Visual Studio streamlines developing universal
Windows apps
You can tailor the design to each device
Shared projects to build universal apps
• One shared project solution in Visual Studio
• Project creates two AppX packages (one per Store)
• Shared dev and test tooling for both platforms
IDE improvements
C#
#if WINDOWS_PHONE_APP
Windows.Phone.UI.Input.HardwareButtons.BackPressed +=
this.HardwareButtons_BackPressed;
#endif
C++
#if WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP
_backPressedEventToken = HardwareButtons::BackPressed +=
ref new EventHandler<BackPressedEventArgs^>(this,
&NavigationHelper::HardwareButton_BackPressed);
#endif





Portable
Class Libraries
I compile just once
and know it works
on all platforms
Shared
Projects
I can easily include
platform-specific code
under #if or partial
classes
New! Improved!
Windows Runtime (WinRT) is the shared
runtime and API space used across
the Windows platform (phone + client)
API coverage for Store app scenarios
• In 8.0, we had ~30% API convergence
 In 8.1, we move well past 90%+ convergence
 Common contract support now converged:
Launch; Share; CachedFileUpdater; FilePicker
 Most non-converged APIs are form-factor specific
(SMS/phone calls; Direct Access)
Keep using Windows Phone Silverlight 8.0 / 8.1 for these features / apps










80% exact same XAML 20% custom
Common SignatureOptimized
DatePicker
TimePicker
CommandBar
Button
CheckBox
RadioButton ProgressBar
Slider
ToggleSwitch
Hub
Pivot
ListView
GridView
AppBar
SysTray
Windows Windows Phone












<Page.BottomAppBar>
<CommandBar>
<AppBarButton Icon="Accept" Label="Accept" />
<AppBarButton Icon="Cancel" Label="Cancel" />
<CommandBar.SecondaryCommands>
<AppBarButton x:Uid="AboutAppBarButton" Icon="Help" />
<AppBarButton x:Uid="HomeAppBarButton" Icon="Home" />
</CommandBar.SecondaryCommands>
</CommandBar>
</Page.BottomAppBar>













#if WINDOWS_PHONE_APP
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
#endif





2560 x 1440
1920 x 1080
1366 x 768450 x 800
to scale
Scale Factors and Effective Resolution
384 x 683
Provides a common layout coordinate system
that extends along the x and y axis into infinity,
allowing you to scale up
 Physical screen size determines
how much of this canvas is available
 Works for all screen sizes across the
entire Windows platform
10”
tablet
7” tablet
6”
5”
4.5”
Infinite virtual canvas
166 Logical DPI
Windows uses a virtual layout canvas to enable your app to light-up the experience most appropriate to the screen
Converged background task model
• Improved background agents make your app more agile
• New triggers and conditions increase user engagement
Background agent improvements
New trigger-based execution options
A single place for all your missed notifications
 FIFO processing
 Limit of 20 notifications per app
 Retained only for 7 days
Notification management



The Action Center provides fresh and relevant information while preserving glance + go







720p
Manifest(s)
1080p Spanish
German
Italian
French
EnglishWVGA
DLLs
Start screen backup
Configuration data can roam with the user
• Sync engine transfers data periodically based on triggers
(user idle, battery, network, etc.)
• Syncs up to 100kb of data using the app’s PFN
• Data is stored in the user’s OneDrive account,
but doesn’t count against their OneDrive quota
Application data can be backed up
Data is backed up daily in user’s SkyDrive account per device, and counts
against their OneDive quota
(user can disable)
Roaming Local Temp
Credential
Locker
Roaming Local Temp
Roaming
100kb
100kb
Device ADevice B
Proven Productivity
 Shared project tooling
 Windows Azure Mobile Services
 Notifications Hubs
Power tools

 Profiling tools
 Store Test Kit
Support for the full app lifecycle

 Visual Studio Online
http://channel9.msdn.com/Events/Build/2014/
http://channel9.msdn.com/Events/Build/2014














Get Ready to Become a Windows Phone Developer
dev.windowsphone.com
Learn More About Windows Phone Dev via Official Microsoft Videos
http://aka.ms/wp81js
http://aka.ms/wp81devbegin
Check Out Additional Learning Resources
www.pluralsight.com/training/Courses#windows-phone
www.developer.nokia.com
Download Additional Resources & Become an Expert
phone.codeplex.com
http://bit.ly/nokiadevoffers
50
1
2
3
4
 www.AgeofMobility.com
 dev.windowsphone.com
 dev.windows.com
 blogs.windows.com/windows_phone/b/wpdev
 blogs.windows.com/windows_phone/b/windowsphone
 http://developer.nokia.com
 http://bit.ly/godvlup
 http://conversations.nokia.com
 http://appstudio.windows.com
 http://flip.it/95YFG
 www.geekchamp.com
 www.wpcentral.com
Thank You!
Slides will be posted on my Slideshare account.
Slideshare: www.slideshare.net/ActiveNick
Blog: www.AgeofMobility.com
Twitter: @ActiveNick
Mobile Apps: www.bigbaldapps.com
LinkedIn: www.linkedin.com/in/activenick
Website: www.AgeofMobility.com
Email: nick.landry@microsoft.com
Building Universal Windows Apps for Smartphones and Tablets with XAML & C#

Building Universal Windows Apps for Smartphones and Tablets with XAML & C#

  • 1.
  • 2.
  • 4.
    Windows brings appsto life Windows provides apps with more ways to engage users, both on device and across all of their Windows screens Design once to engage everywhere Developers can use universal Windows apps to design an one app that can target every Windows screen Build faster with Visual Studio New shared projects for Universal Windows apps allow developers to share as much or as little between Windows and Windows Phone projects
  • 5.
    Converged web browser •WP 7.5 shipped with IE9 • Same rendering + JavaScript engine Aligned user experience • Modern UI on WP + Xbox 360 Aligned dev platform • Games: DirectX; XNA • Apps: XAML + XAML (WPF; SL) Converged core (NT kernel) • Common kernel & file system • Converged driver model • Converged networking stack • Secure boot & storage encryption (BitLocker) Aligning user experience • Live tiles on Windows Aligning the dev platform • Aligned UI frameworks: XAML; DirectX; C++ • Converged API for sensors & IAP • Converged Web Browser: IE10 Converged dev platform • Converged WinRT app model on Windows, Windows Phone, Xbox • Converged roaming + credentials • Better HTML5/web support via IE Aligning the Stores  Aligned processes and policies  Shared dev registration • Shared entitlement Improved App Experience • Proximity & location frameworks • Security & identity • Background execution
  • 6.
    | | A convergeddeveloper platform enables you to do more with the same code and skillset
  • 7.
    Universal Windows apps •One Visual Studio solution with three nodes • Two UI node (One for phone; one for client) • One shared code node (WinRT apps only) Linked apps Devs can be link their Store apps using a common PFN (Product Family Number) across client + phone New tooling and app linking makes it easy to engage everywhere
  • 8.
    Visual Studio streamlinesdeveloping universal Windows apps
  • 9.
    You can tailorthe design to each device
  • 11.
    Shared projects tobuild universal apps • One shared project solution in Visual Studio • Project creates two AppX packages (one per Store) • Shared dev and test tooling for both platforms IDE improvements
  • 12.
    C# #if WINDOWS_PHONE_APP Windows.Phone.UI.Input.HardwareButtons.BackPressed += this.HardwareButtons_BackPressed; #endif C++ #ifWINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP _backPressedEventToken = HardwareButtons::BackPressed += ref new EventHandler<BackPressedEventArgs^>(this, &NavigationHelper::HardwareButton_BackPressed); #endif
  • 13.
  • 14.
  • 15.
    Portable Class Libraries I compilejust once and know it works on all platforms Shared Projects I can easily include platform-specific code under #if or partial classes New! Improved!
  • 16.
    Windows Runtime (WinRT)is the shared runtime and API space used across the Windows platform (phone + client) API coverage for Store app scenarios • In 8.0, we had ~30% API convergence  In 8.1, we move well past 90%+ convergence  Common contract support now converged: Launch; Share; CachedFileUpdater; FilePicker  Most non-converged APIs are form-factor specific (SMS/phone calls; Direct Access)
  • 17.
    Keep using WindowsPhone Silverlight 8.0 / 8.1 for these features / apps          
  • 20.
    80% exact sameXAML 20% custom Common SignatureOptimized DatePicker TimePicker CommandBar Button CheckBox RadioButton ProgressBar Slider ToggleSwitch Hub Pivot ListView GridView AppBar SysTray
  • 21.
  • 23.
  • 25.
  • 26.
    <Page.BottomAppBar> <CommandBar> <AppBarButton Icon="Accept" Label="Accept"/> <AppBarButton Icon="Cancel" Label="Cancel" /> <CommandBar.SecondaryCommands> <AppBarButton x:Uid="AboutAppBarButton" Icon="Help" /> <AppBarButton x:Uid="HomeAppBarButton" Icon="Home" /> </CommandBar.SecondaryCommands> </CommandBar> </Page.BottomAppBar>
  • 28.
  • 29.
  • 30.
  • 32.
    2560 x 1440 1920x 1080 1366 x 768450 x 800 to scale Scale Factors and Effective Resolution 384 x 683
  • 33.
    Provides a commonlayout coordinate system that extends along the x and y axis into infinity, allowing you to scale up  Physical screen size determines how much of this canvas is available  Works for all screen sizes across the entire Windows platform 10” tablet 7” tablet 6” 5” 4.5” Infinite virtual canvas 166 Logical DPI Windows uses a virtual layout canvas to enable your app to light-up the experience most appropriate to the screen
  • 34.
    Converged background taskmodel • Improved background agents make your app more agile • New triggers and conditions increase user engagement Background agent improvements New trigger-based execution options
  • 36.
    A single placefor all your missed notifications  FIFO processing  Limit of 20 notifications per app  Retained only for 7 days Notification management    The Action Center provides fresh and relevant information while preserving glance + go
  • 37.
  • 38.
  • 39.
  • 40.
    Start screen backup Configurationdata can roam with the user • Sync engine transfers data periodically based on triggers (user idle, battery, network, etc.) • Syncs up to 100kb of data using the app’s PFN • Data is stored in the user’s OneDrive account, but doesn’t count against their OneDrive quota Application data can be backed up Data is backed up daily in user’s SkyDrive account per device, and counts against their OneDive quota (user can disable) Roaming Local Temp Credential Locker Roaming Local Temp Roaming 100kb 100kb Device ADevice B
  • 41.
    Proven Productivity  Sharedproject tooling  Windows Azure Mobile Services  Notifications Hubs Power tools   Profiling tools  Store Test Kit Support for the full app lifecycle   Visual Studio Online
  • 42.
  • 43.
  • 44.
    Get Ready toBecome a Windows Phone Developer dev.windowsphone.com Learn More About Windows Phone Dev via Official Microsoft Videos http://aka.ms/wp81js http://aka.ms/wp81devbegin Check Out Additional Learning Resources www.pluralsight.com/training/Courses#windows-phone www.developer.nokia.com Download Additional Resources & Become an Expert phone.codeplex.com http://bit.ly/nokiadevoffers 50 1 2 3 4
  • 45.
     www.AgeofMobility.com  dev.windowsphone.com dev.windows.com  blogs.windows.com/windows_phone/b/wpdev  blogs.windows.com/windows_phone/b/windowsphone  http://developer.nokia.com  http://bit.ly/godvlup  http://conversations.nokia.com  http://appstudio.windows.com  http://flip.it/95YFG  www.geekchamp.com  www.wpcentral.com
  • 46.
    Thank You! Slides willbe posted on my Slideshare account. Slideshare: www.slideshare.net/ActiveNick Blog: www.AgeofMobility.com Twitter: @ActiveNick Mobile Apps: www.bigbaldapps.com LinkedIn: www.linkedin.com/in/activenick Website: www.AgeofMobility.com Email: nick.landry@microsoft.com