2-650: Developing Universal Windows Apps in Visual Studio 2015

Come and learn how to build a Universal Window app in Visual Studio 2015. In this session, we will explore creating adaptive apps, building UI for different device families, using platform and 3rd-party extension SDKs, and integrating Application Insights. Also learn a lot more about the developer experience for building a Universal Windows app.

1.0x

2-650: Developing Universal Windows Apps in Visual Studio 2015

Created 2 years ago

Duration 1:01:26
lesson view count 5726
Come and learn how to build a Universal Window app in Visual Studio 2015. In this session, we will explore creating adaptive apps, building UI for different device families, using platform and 3rd-party extension SDKs, and integrating Application Insights. Also learn a lot more about the developer experience for building a Universal Windows app.
Select the file type you wish to download
Slide Content
  1. Navit Saxena

    Slide 1 - Navit Saxena

    • Senior Program Manager – Visual Studio
    • Developing Universal Windows Apps in Visual Studio 2015
    • 2-650
  2. Universal Windows App Development Tools

    Slide 2 - Universal Windows App Development Tools

    • Download Now !!!
    • Visual Studio 2015 RC with
    • Install latest Windows 10 OS (10.0.10075.0)
    • insider.windows.com
    • Install VS 2015 RC w/ Universal Windows SDK & Tools
    • www.visualstudio.com
    • Build your first Universal Windows App
  3. Acquiring Windows 10 Tools/SDKs/Emulators

    Slide 3 - Acquiring Windows 10 Tools/SDKs/Emulators

    • Select “Universal Windows App Development Tools” using Custom setup option
  4. Introduction to Universal Windows Platform

    Slide 4 - Introduction to Universal Windows Platform

    • Universal Windows Tooling
    • Q&A
    • Agenda
  5. Universal Windows Platform

    Slide 5 - Universal Windows Platform

    • Unified Developer Platform
    • Single Application Package
    • Adaptive Code
    • Desktop
    • Mobile
    • Xbox
    • IoT
    • Holographic
    • Surface Hub
    • Universal Windows Platform
    • Core APIs
  6. Universal Windows Platform

    Slide 6 - Universal Windows Platform

    • Unified Developer Platform
    • Single Application Package
    • Adaptive Code
    • Desktop
    • Mobile
    • Xbox
    • IoT
    • Holographic
    • Surface Hub
    • Universal Windows Platform
    • Core APIs
  7. Supported OS for Universal Windows development

    Slide 7 - Supported OS for Universal Windows development

    • Windows 10
    • Windows Server 2012 R2
    • *Windows 7
    • Windows 8.1
    • Best developer experience for building Universal Windows apps
    • Deploy/Debug/Profile
    • Simulator
    • Local Machine
    • Mobile Emulators
    • Remote Machine
    • Device
    • XAML Designer/Intellisense
    • All other features work at parity with Windows 10, except:
    • Deploy/Debug/Profile
    • Remote Machine
    • Device
    • XAML Intellisense
    • All other features work at parity with Windows 10, except:
    • Deploy/Debug/Profile
    • Mobile Emulators
    • Remote Machine
    • Device
    • XAML Intellisense
    • No WACK (Server R2)
    • *will be supported at RTM
  8. Project Templates

    Slide 8 - Project Templates

  9. Project Templates

    Slide 9 - Project Templates

  10. Universal Windows Samples

    Slide 10 - Universal Windows Samples

    • https://github.com/Microsoft/Windows-universal-samples
  11. Project Properties

    Slide 11 - Project Properties

    • Target version (TargetPlatformVersion)
    • Defines the version of Universal Windows SDK being targeted by project
    • Defines the available API surface for the application
    • Is stamped as TargetDeviceFamily.MaxVersionTested property in the AppX manifest file as part of the build process
    • <Dependencies>
    • <TargetDeviceFamily
    • Name="Windows.Universal" MinVersion="10.0.10069.0" MaxVersionTested="10.0.10069.0" />
    • </Dependencies>
  12. Project Properties

    Slide 12 - Project Properties

    • Target version (TargetPlatformVersion)
    • Defines the version of Universal Windows SDK being targeted by project
    • Defines the available API surface for the application
    • Is stamped as TargetDeviceFamily.MaxVersionTested property in the AppX manifest file as part of the build process
    • <Dependencies>
    • <TargetDeviceFamily
    • Name="Windows.Universal" MinVersion="10.0.10069.0" MaxVersionTested="10.0.10069.0" />
    • </Dependencies>
  13. Project Properties

    Slide 13 - Project Properties

    • Min version (TargetPlatformMinVersion)
    • Defines the minimum version of Universal Windows platform being supported by the project (adaptive application package)
    • Is stamped as TargetDeviceFamily.MinVersion property in the AppX manifest as part of the build process
    • <Dependencies>
    • <TargetDeviceFamily
    • Name="Windows.Universal" MinVersion="10.0.10069.0" MaxVersionTested="10.0.10069.0" />
    • </Dependencies>
  14. Project Properties

    Slide 14 - Project Properties

    • Target version (TargetPlatformVersion)
    • Defines the version of Universal Windows SDK being targeted by project
    • Defines the available API surface for the application
    • Is stamped as TargetDeviceFamily.MaxVersionTested property in the AppX manifest file as part of the build process
    • <Dependencies>
    • <TargetDeviceFamily
    • Name="Windows.Universal" MinVersion="10.0.10069.0" MaxVersionTested="10.0.10069.0" />
    • </Dependencies>
  15. Project Properties

    Slide 15 - Project Properties

    • Target version (TargetPlatformVersion)
    • Defines the version of Universal Windows SDK being targeted by project
    • Defines the available API surface for the application
    • Is stamped as TargetDeviceFamily.MaxVersionTested property in the AppX manifest file as part of the build process
    • <Dependencies>
    • <TargetDeviceFamily
    • Name="Windows.Universal" MinVersion="10.0.10069.0" MaxVersionTested="10.0.10069.0" />
    • </Dependencies>
  16. 3rd Party Extension SDKs

    Slide 16 - 3rd Party Extension SDKs

    • Developers can reference Windows 8.1 Extension SDKs in a Universal Windows app
    • Referencing a native Windows 8.1 Extension SDK requires referencing “Microsoft Visual C++ 2013 Runtime Package for Windows Universal” SDK
    • Developers can build Extension SDKs for Universal Windows platform and write adaptive code against platform APIs
    • Universal Windows Extension SDKs are installed under:
    • \Program Files\Microsoft SDKs\Windows Kits\10\ExtensionSDKs
  17. 3rd Party Extension SDKs

    Slide 17 - 3rd Party Extension SDKs

    • Developers can reference Windows 8.1 Extension SDKs in a Universal Windows app
    • Referencing a native Windows 8.1 Extension SDK requires referencing “Microsoft Visual C++ 2013 Runtime Package for Windows Universal” SDK
    • Developers can build Extension SDKs for Universal Windows platform and write adaptive code against platform APIs
    • Universal Windows Extension SDKs are installed under:
    • \Program Files\Microsoft SDKs\Windows Kits\10\ExtensionSDKs
  18. 3rd Party Extension SDKManifest.xml

    Slide 18 - 3rd Party Extension SDKManifest.xml

    • <FileList
    • TargetPlatform="UAP"
    • MinVSVersion="14.0"
    • SDKType="External"
    • TargetPlatformMinVersion="10.0.10069.0"
    • TargetPlatformVersion="10.0.10069.0"
    • DisplayName = "Sample Extension SDK"
    • AppliesTo = "WindowsAppContainer + (Managed | Javascript)"
    • SupportsMultipleVersions="Error">
    • <File Reference = "Sample.winmd">
    • <ToolboxItems VSCategory = "Toolbox.Default"/>
    • </File>
    • </FileList>
  19. VSIX Manifest

    Slide 19 - VSIX Manifest

    • <PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
    • <Metadata>
    • <Identity Id="Microsoft.PlayerFramework.Win10.XAML.f1f3ff2b-1658-456c-9862-0ce64eda4130" Version="1.0“
    • Language="en-US"
    • Publisher="Microsoft" />
    • <DisplayName>Microsoft Player Framework for Windows 10 XAML UAP</DisplayName>
    • </Metadata>
    • <Installation AllUsers="true" Scope="Global">
    • <InstallationTarget Id="Microsoft.ExtensionSDK"
    • TargetPlatformIdentifier="Windows Kits"
    • TargetPlatformVersion="10"
    • SdkName="Microsoft.PlayerFramework.Xaml" SdkVersion="1.0" />
    • </Installation>
    • <Dependencies>
    • <Dependency Id="Microsoft.Framework.NDP"
    • DisplayName="Microsoft .NET Framework"
    • Version="[4.5,)" />
    • </Dependencies>
    • </PackageManifest>
  20. NuGet

    Slide 20 - NuGet

    • Universal Windows apps support referencing Windows 8.1 NuGet packages
  21. NuGet

    Slide 21 - NuGet

    • Universal Windows apps support referencing Windows 8.1 NuGet packages
  22. NuGet – RTM

    Slide 22 - NuGet – RTM

    • Universal Windows apps will support referencing Windows Phone 8.1 NuGet packages
    • Developers will be able to author NuGet packages specific to Universal Windows platform
    • If you want an early preview of NuGet bits for Universal Windows platform, send me an email: navits@microsoft.com
  23. App Insights

    Slide 23 - App Insights

    • App Insights enable developers to monitor app’s performance and usage statistics
    • Universal Windows project templates are enabled for App Insights and monitors app users, sessions, page view, crashes and real time usage without writing any additional code
    • Developers can easily add custom events to collect additional telemetry data for the app
  24. App Insights

    Slide 24 - App Insights

    • App Insights enable developers to monitor app’s performance and usage statistics
    • Universal Windows project templates are enabled for App Insights and monitors app users, sessions, page view, crashes and real time usage without writing any additional code
    • Developers can easily add custom events to collect additional telemetry data for the app
  25. Universal 8.1 App

    Slide 25 - Universal 8.1 App

    • 1: Single Universal Windows Project
    • Add single Universal Windows project to target different Windows 10 devices
    • Use Adaptive code for device family specific APIs
    • Use Adaptive UI to support different form factors
    • Use Shared projects, WinRT components, PCLs to share code between Universal Windows, Windows 8.1 and WP 8.1 projects
    • Upgrade Windows/Windows Phone 8.1 projects
  26. Universal 8.1 App

    Slide 26 - Universal 8.1 App

    • 2: Different project/package for a device family
    • Add a new Universal Windows project to target a specific Windows 10 device (ex: Mobile)
    • Update Package.appxmanifest to include “Windows.Mobile” device family with matching MinVersion/MaxVersionTested
    • <Dependencies>
    • <TargetDeviceFamily
    • Name="Windows.Mobile"
    • MinVersion=“<Windows.Mobile MinVersion>“
    • MaxVersionTested=“<Windows.Mobile MaxVersionTested>"/>
    • </Dependencies>
    • Add a new Universal Windows project to target other Windows 10 devices
    • Use Shared projects, WinRT components, PCLs to share code between Universal Windows, Windows 8.1 and WP 8.1 projects
  27. Resources

    Slide 27 - Resources

    • Windows 10 Samples
    • Developer Assistant for Visual Studio
    • http://aka.ms/devassistant
    • https://github.com/Microsoft/Windows-universal-samples
  28. Related Sessions

    Slide 28 - Related Sessions

    • Code
    • Title
    • Speaker
    • 749
    • Deep dive into XAML & .NET Universal Windows app development
    • Unni Ravindranathan
    • 697
    • New XAML Tools in Visual Studio 2015
    • Unni Ravindranathan
    • 719
    • Fast and Powerful Diagnostics, and Problem Solving with Application Insights
    • Victor Mushkatin
    • 617
    • Introducing the App Model for the Universal Windows Platform (UWP)
    • Andrew Clinick
    • Matt Hidinger
    • 629
    • What's New in XAML for Universal Windows Apps
    • Joe Stegman
    • 679
    • From the Small Screen to the Big Screen: Building Universal Windows App Experiences with XAML
    • Tim Heuer
    • Harini Kannan
    • 741
    • Moving to the Universal Windows Platform: Porting an App from Windows 8.1 XAML or Windows Phone Silverlight to Windows 10
    • Sam Jarawan
    • 733
    • API Contracts (or How I Learned to Stop Checking OS Versions and Love Feature Detection)
    • Brent Rector
  29. Questions

    Slide 29 - Questions

    • Navit Saxena
    • Program Manager
    • navits@microsoft.com
    • @saxenanavit