PiotrWolkowski
PiotrWolkowski

Reputation: 8782

Windows Store Apps (Windows 8) vs UWP

What's the difference between Windows Store apps (introduced in Windows 8) and Universal Windows Platform apps (introduced in Windows 10).

How much do they share from development point of view. If I spent time learning how to build Windows Store apps can this knowledge be transferred to UWP development?

Upvotes: 10

Views: 3904

Answers (3)

Daniel Krzyczkowski
Daniel Krzyczkowski

Reputation: 3157

I would like to just add some more to previous answers.

The main and important thing is that Universal Windows 10 Apps are now compiled to native code (with .NET Native Compiler).

From a developer point of view there is a difference between Debug and Release. When debugging your UWP app in Visual Studio you are running Intermediate Language (with JIT/Just-in-time compilation to machine code) this means fast compilation and deployment. But if you decide to build your app in Release configuration - your app utilizes .NET Native toolchain. This takes much more time to compile, but is optimized a lot more for run time performance.

To read more please see below article:

https://blogs.windows.com/buildingapps/2015/08/20/net-native-what-it-means-for-universal-windows-platform-uwp-developers/

The second important thing is that Windows 10 is now a Platform. You can create applications and adjust them to work on the different devices. Notice that before in the Visal Studio you created two different UI projects (Windows Phone and Windows) and third project with Shared Code. Now it has changed. Currently it is a single project where you can adjust your UI to different devices at run time. Visual Studio has a new design-time option now to switch between different device screen sizes to see what your app will look like.

There are also Adaptive Triggers and Device-Family folders now - if you decide that for example you would like to create a totally different look for your XAML page on mobile devices - you can use these. Please see below article from my blog:

https://mobileprogrammerblog.wordpress.com/2015/10/23/universal-windows-10-application-with-tailored-design-part-1/

Please also check this Channel 9 video:

https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-2015-Final-Release-Event/Universal-Windows-Platform-Tailored-Experiences

There are also more APIs, as I mentioned previously. To get access to the code specific to the selected platform like Mobile or IoT, you can use Platfrom Extensions. Here is an article where you can read more about it:

https://mobileprogrammerblog.wordpress.com/2015/07/23/universal-windows-platform/

Hope this will help you too and of course your current knowledge is very relevant, so no worries - you will need it! :)

Upvotes: 9

Chuck Walbourn
Chuck Walbourn

Reputation: 41067

The Universal Windows Platform uses the same basis of technology that was developed for the Windows 8 Store apps. This includes AppX packaging with manifests, the App Container security context, CoreWindow presentation model, same appmodels (XAML, XAML+DirectX, DirectX), etc.

The difference is that UWP apps can run "as is" on a Windows 10 PC, the Xbox One, and Windows 10 Mobile.

The main differences in the development model are that UWP supports more APIs. There are some APIs that have changed particularly from Windows phone 8.x, but if you have written a Windows 8 Store app moving it to Windows 10 is mostly a recompile. You use the VS 2015 toolset rather than the VS 2012 or VS 2013 toolset.

Unless you have some compelling need to support Windows 8 Store, I'd suggest just going with UWP. There's less code churn for existing codebases as a number of Win32 APIs that were not supported for Windows 8 Store apps are supported for UWP.

See Dual-use Coding Techniques for Games

Upvotes: 6

Filip Skakun
Filip Skakun

Reputation: 31724

In my point of view - UWP apps ARE Windows Store apps (as soon as you publish or plan to publish them in the Windows Store!)

I was more confused between the terms - Windows Runtime vs. Universal Windows Platform (UWP). I now believe the latter is simply an evolution of the former and more of a marketing term. The big difference is that if you want - you can run same binaries on multiple platforms. Most of what you learned about the Windows Runtime of the Windows 8/8.1 days still applies to Windows 10. You just tend to look for solutions that scale to different target platforms within the same code file rather than having separate project and code files for different targets.

Upvotes: 2

Related Questions