Universal App Model Overview: What’s New in the UWP App Model

Sign in to queue

Description

The UWP App Model encompasses the way that apps are packaged and installed, how they store data and state, their background process and multitasking capabilities, their run/suspend/resume lifecycle, their navigation model, and how they are uninstalled. In this session, Andrew will introduce the new app model capabilities ranging from app deployment improvements, enabling your existing desktop apps to take advantage of UWP through to exciting new capabilities to drive app engagement on all your devices.

Day:

1

Session Type:

Breakout

Code:

B809

Room:

Marriott Salon 8

Embed

Download

Download this episode

Download captions

The Discussion

  • User profile image
    sevenacids
    It's nice that there is an app extension model now, but I wonder how this integrates with the host app? Does it only work with JavaScript or via an app service?
     
    Currently, I have an add-in/extension model (in .NET) that uses XML (for metadata) and dynamic loading, and when the application starts, only that metadata is loaded. Loading of the actual extension (which lives in one or more .NET assemblies) is deferred until the functionality it provides is used for the first time by the host application. Would something like that work with UWP as well?
     
    Using an app service for extensibility seems kind of cumbersome to me, because it looks like it works like a REST service, out-of-process, and the amount of data you can send back and forth within one message seems to be very limited (64KB?). I can imagine this would turn out to be really slow for larger amounts of data (like raw image data, for example) and because nothing is shared, require a lot of unnecessary copying of memory between the host app and the extension. That's just a lot of overhead, so it would be really cool if it could work in-process as well to avoid all of that mess.
     
  • User profile image
    stuman2000

    I am really looking forward to the bits for project centennial to be released. Has there been a beta release, if so is there a place where I can pick these up along with the documentation.

  • User profile image
    Andrew Clinick

    Extensions can be either via JavaScript or an app service. In terms of IPC then yes there are limitations and that's something we are working on for the next release. Right now the basic concept is that we are trying to keep IPC simple since it's notoriously complex/error prone to get right.

    Loading in proc assemblies/dlls gets great perf but also has significant app reliability problems. If the assembly/dll crashes then so does your app. That's obviously a challenge for loading javascript too. If you're loading in proc then being able to update/service the extension becomes almost impossible

  • User profile image
    Andrew Clinick

    you can get the bits for centennial now https://aka.ms/desktopbridge has all the details

Add Your 2 Cents