Universal Windows Platform (UWP) apps may run on a number of device families that differ significantly in screen size and features. To give a great user experience on all devices, the design must adapt to the device. An adaptive UI can detect information about the device it is running on and deliver a layout based on the characteristics of that device.
An adaptive UI differs from a responsive UI, because it can deliver an individualized layout for each device family or screen size snap point. A responsive UI typically takes a single, flexible design and displays it gracefully on all devices. One drawback to responsive UI can be a slower load time – elements are loaded for all devices and resolutions even though they may not be needed.
With adaptive UI, you can deliver a responsive design, but you also have the ability to deliver unique views to devices that have little in common with each other. For example, an Xbox view may be completely distinct from the desktop and mobile views for an app, because the device UI and interactions are so different.
The modules in this series are intended to be followed consecutively, but it is not required. You can choose to do the modules in any order. The source code is located here: https://github.com/Microsoft-Build-2016/CodeLabs-UWP
Module 1 Title: Building an Adaptive UI for Multiple Windows Devices
Description: In this module, we will evolve a fixed layout into an adaptive UI and view it on Desktop, Mobile, and Continuum. We'll also use some new tools to easily generate default tiles, build adaptive tiles from XML, and enhance the Maps experience.
Module 2 Title: More Personal Computing and Shell Integration
Description: In this module, we will enhance the Sights2See Travel app that was created in Module 1 of this UWP workshop. We will add inking and speech support to allow users to interact with the app in more natural ways. We will add an Interactive Toast which allows the user deeper integration with your app right from the Notification pane.
Module 3 Title: Connected Apps: Across Devices and App-to-App
Description: In this module, you will learn how to connect your app to the cloud so users can get their data on whichever device they pick up. You will enhance the app to load additional app data through an App Extension, and you will use the LaunchUri and LaunchForResults APIs to get directions from BingMaps and to connect to a photo processing apps to add effects to pictures.
You will add capabilities to the app to share files and content with other apps by adding support for Drag and Drop and the Share contract.