Build 2016 - B829 - Project Centennial: Bringing Existing Desktop Applications to the Universal...

Preview:

Citation preview

#Build2016

Converting your desktop app to use the Universal Windows Platform (Project Centennial)John SheehanDistinguished Engineer

B829

What is Project Centennial?Improving the Windows platform for all developersConvert desktop apps to the Universal Windows deployment technology

Keep your current Win32/.NET code running

Code targets Windows 10 and Windows 7 PCs

Add Universal Windows components over time

Monetize via Windows Store or other distribution of choice

Developer Workflow

MSI

Desktop App ConverterConverts existing desktop installerResults in a packaged app with UWP manifest

Test, Update and EvolveMake compatible code changes that go into both MSI and app packageEvolve app package to take advantage of the Universal Windows Platform

Publish and DistributeDistribute the app package via sideloading, MDM or the Windows Store*

AppX

*Pending availability

Classic Desktop ApplicationWin32/.NET code baseMSI installerRuns in a desktop process

Step 0 – Win32 Desktop App

Classic Windows App

Universal App Package

Immediate Benefits:Modern deployment technology for all appsSeamless updates, clean uninstallMonetize via Windows Store or other distribution of choiceRuns your current codeSmall amount of code changes needed (if any)

Step 1 – Convert the App

Classic Windows App

Demo

Evernote – Conversion and Deployment

How does it work?DeploymentUses Universal Windows Platform deployment stackExtensions for required Win32 extension pointsShell extensions (e.g. file type associations)

Solving “DLL Hell” and “Registry Bloat”Registry redirection / mergingFilesystem redirection / mergingWrite redirect for certain directoriesSame code will continue work on Windows 7, 8, etc.

Bridge to the Universal Windows PlatformAt this point your app already hasModern deploymentActivation via Tiles, file types or URI protocolsApp Identity access to more UWP API surfaceUWP App Model

What else does this enable? Short answer: Anything a UWP app can do !

Feature Examples:Live Tile supportActionable NotificationsCortanaetc.

Step 2 – Call UWP APIs

Universal Windows API

Classic Windows App

Universal App Package

Continue the Migration to UWPDo anything a UWP app can doTake advantage of more UWP APIsTake advantage of app services, background tasks & triggersMigrate UI to XAML

Configuration

Security Management

Updates

Natural User Inputs

One SDK + Tooling

Cloud Services

One Store +One Dev Center

Adaptive User

Interface

Holographic Xbox

Devices +IoT

Surface HubMobilePC

Demo

Adding Live Tiles

Step 3 – Add a UWP Component

Feature Examples:XAML UI front endBackground tasksFile Picker UI

Runs in the App ContainerCommunication via AppService Universal Windows App

Classic Windows App

Universal App Package

Desktop & App Container processesCurrent code running in Desktop processUWP app code runs in App ContainerActivate Desktop process from App Container and vice-versaInter process communication (via AppService)Activat

e

Activate

DesktopProcess

App ContainerProcess

Demo

Communicating between UWP and Desktop components

Step 4 – Migrate code to UWP

Move UWP Compatible code/components into the App Container

Universal Windows App

Classic Windows App

Universal App Package

Step 5 – Fully UWP

Move remaining code into the App ContainerRun everywherePCMobileXbox OneHoloLensetc.

Universal App Package

Universal Windows App

Complete Migration to UWPClean up/replace non-compliant codeMore Win32 APIs supported in the AppContainerMove remaining code into the App ContainerRun everywhere (PC, phone, Xbox One, HoloLens, etc.)

Demo

Completing the migration to UWP

Call to Action - http://aka.ms/desktopbridge

Upcoming Windows Insider Preview build will deliver the bits

Meet us in the “Ask The Experts” area

HELLOJohnI

am

Bring your own installer to the “App Consult Area”

Share Your Story for Challenge PointsGive us 3 minutes of feedback about your work right after this session at the Flash Voting sign.Join in on 15-30 minutes in depth feedback sessions at the Visual Studio: Share Your Story booth.Register in 2 minutes for Visual Studio feedback opportunities after build at http://aka.ms/devtodev.

Please Complete An Evaluation FormYour input is important!

or

© 2016 Microsoft Corporation. All rights reserved.

Recommended