BT

A New Publication Model for Universal Windows Apps

| by Jonathan Allen Follow 578 Followers on Oct 02, 2015. Estimated reading time: 2 minutes |

In the Windows world, application deployment generally uses one of two models for handling OS and third party dependencies.

The first is to bundle all of the dependencies with the application itself. This way the developer controls exactly what the application is going to use. One downside of this is that it makes the application’s footprint much larger, a concern on mobile devices. Another problem is that updates to the dependencies have to be pushed out by the developer, not the company that actually created the dependency. This can add an unacceptable time lag for resolving critical security bugs.

The other option is to store all of the dependencies in a shared place. This would be the Win32 folder for COM based applications and the Global Assembly Cache (GAC) for .NET applications. But this leads to its own problems known as “DLL Hell”. Even is strict backwards compatibility is maintained, it limits your options. For example, it prevents interesting scenarios such as allowing one application to use a pre-release version of a library without forcing all of the other applications to use it as well. As such, it usually falls on the user to manually update key libraries such as the .NET Framework.

In Win10 Tools 1.1, Universal Windows Apps (UWP) are given a third option. Under the new model, each application can still specify the exact version of .NET it wants to use. This includes beta versions of the framework. But when the application is installed, common libraries are put into a shared location. This way any other application that uses the same version will have access to it.

In Microsoft’s tests, they found that they could reduce the size of a small UWP application from 5.3 MB to only 1.3 MB. For a larger example, they dropped the size from 10.1 MB to only 7.9 MB.

Surprisingly, this feature can also reduce build times. Rich Lander of Microsoft claims,

For most apps, the feature delivers faster build times for Release builds. We observe build times are generally faster, up to about 30% -- but there are a few apps actually take longer to build. We are working on making the flag deliver a more consistent improvement to build times.

This is a pre-release feature, so Microsoft isn’t enabling it by default. You can, however, submit apps to the Windows Store with it turned on.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT