Simple questions: What are Universal Windows Platform (UWP) apps?
Ever since Microsoft announced Windows 10 for PCs, hybrid devices, tablets and smartphones, we've heard quite a lot about the concept of Windows Universal Apps, or as they are called in tech-speak: Universal Windows Platform (UWP) apps. You've probably wondered what they are and why Microsoft makes so much fuss about these apps. At first, we were also intrigued about what they are, what purpose they serve and how they work. It's been a while now since we've used such apps and there are quite a few things about them that make them great, both from a software developer's perspective as well as a user's perspective. In this article we will shed a bit of light on the subject of Universal Windows Platform apps and why they matter. If you're curious to know more about them, read on:
A bit of background about mobile apps for Windows
Microsoft had been trying for a long time to increase its market share in mobile devices but so far they have not succeeded. While they did get some traction with the launch of Windows Phone 7, other platforms like Android and iOS were far ahead of them. The main reason for this situation and the number one complaint from users still i s the fact that Microsoft's mobile ecosystem is lagging behind in terms of apps.
The Store for Windows Phone smartphones didn't manage to offer as many apps to its users as Google Play or Apple Store did. Windows Phone 8 and its later update, Windows Phone 8.1, did a better job at attracting people to Microsoft's mobile platform but it was still not enough.
This was the moment when Microsoft started to work on a new concept: it began developing a unified platform application architecture that runs on any type of device that runs Windows. It sounds complicated, right?
What are Universal Windows Platform apps?
Universal apps for Windows are apps designed to work the same on multiple devices with different form factors . In other words, they are apps that work the same on a variety of screen sizes. It doesn't matter if you are using a Windows 10 Mobile smartphone, a Windows 10 tablet, a Windows 10 desktop computer or even on an Xbox One console. These apps will run on all these types of devices and offer the same features to their users.
If the software developer of an app wanted to, his/her app could potentially run the same way on an Internet of Things (IoT) device that runs Windows 10 or even on the upcoming augmented reality device from Microsoft: the Hololens. It's a great idea, isn't it?
Universal Windows Platform apps share the same code base, with one caveat: software developers must add different code parts for the families of devices that they want their apps to work on. They won't target different operating systems in their code but different families of devices. That's a small thing to ask and a huge leap in terms of efficiency.
For instance, if you were to write an RSS reader app that you want available for both Windows 10 Mobile smartphones and Windows 10 PCs and tablets, you have to write the code only once. It will work the same on all devices. But you need to tweak the app's user interface to match both device families.
Universal Windows Platform apps: on which platforms are they available?
Universal Windows Platform apps are apps that are available for devices that run on Windows 10. Developers can make a single app, with one code base, which works on Windows 10 PCs, Windows 10 tablets and hybrid devices, Windows 10 Mobile smartphones, Xbox One consoles, Internet of Things devices that run Windows 10 and even on Microsoft Hololens.
Apps are distributed using the Windows 10 Store which is available on all the devices that run Windows 10, regardless of their size and hardware specifications. Because there's one Store and one code base, apps can be distributed and updated with ease across all families of devices. Basically, there are fewer headaches for both software developers and users when dealing with universal apps for Windows.
For users there's also the advantage that they purchase a universal Windows app once, on a certain device and then they can use it on all their Windows 10 devices. Apps are associated with their Microsoft account, not with their devices and they can install and uninstall purchased apps freely, based on their needs and devices.
How do you know if an app is a universal Windows app?
Universal Windows Platform apps are not that easy to recognize. When you inspect an app from the Windows Store on a Windows 10 Mobile device, pay attention to the following sections of its app page: Screenshots , Ratings and reviews and Additional information.
Universal apps tend to provide screenshots both for the Mobile devices and for PC.
In the Ratings and reviews section you will find reviews for mobile devices as well as all other devices where the app is available.
Last but not least, the best information is found in the Additional information section. There look for the list of supported processors. You should see listed ARM processors (processors for mobile devices, mostly smartphones) alongside x86 and x64 processors (processors for PCs).
If you do the same thing on a Windows 10 desktop PC or laptop, the Windows Store will share screenshots both for the Mobile "version" and the PC "version" . Keep in mind that we are not really talking about different versions of the app, since there is one app with one code base for all devices.
Also, in the Ratings and reviews section you will see an option to filter the reviews for PC from all the other types of devices.
Last but not least, the Additional information section will offer information about the processors that are supported by the app.
A few examples of universal apps for Windows
Today there aren't many Universal Windows Platform apps available in the Windows 10 Store. However, there are examples of good apps that you are most probably using without knowing that they are universal apps for Windows. Here are some of them:
- Microsoft Office apps: Word, Excel, PowerPoint and OneNote.
- Netflix - the popular on-demand video streaming service.
- Teamviewer - one of the popular remote desktop administration tools.
- Pandora - the popular music streaming and automated music recommendation service powered by the Music Genome Project.
In which programming languages can you code Universal Windows Platform apps?
Universal Windows Platform apps can be developed using any of the most commonly used programming languages:
- C# or Visual Basic with XAML
- C++ with DirectX and/or XAML
It's worth mentioning that Microsoft also provides templates for each programming language, that you can use to code universal apps in Microsoft Visual Studio 2015.
Advantages and disadvantages of universal Windows apps
By now, you have an idea about what universal Windows apps are, how they work and the platforms on which they are available. You probably also have an idea of their advantages, but let's enumerate them to get a clearer picture:
- Universal Windows Platform apps can be used on any device that runs Windows 10. This includes Windows 10 desktop computers, laptops, tablets and hybrids, Windows 10 Mobile smartphones, Xbox One consoles, IoT devices with Windows 10 and even on Microsoft HoloLens.
- Developers can write apps that work the same way on multiple families of devices with different form factors.
- Universal Windows Platform apps are distributed and updated the same way, using the Windows Store , which is available and works the same on all Windows 10 devices.
There are also a few disadvantages about Universal Windows Platform apps:
- Universal Windows Platform apps are limited to devices running Windows 10. They will never work on Android and iOS. Also, they won't work on older versions of Windows.
- Universal Windows Platform apps are a great idea which needs a lot more traction with software developers. If they don't start writing many great universal apps, this concept will be of no benefit to users or to Microsoft.
Now you know what Universal Windows Platform apps are and what their purpose is. As you have learned, they are a great idea which can change how we deal with apps, how we migrate them from device to device, how we purchase them and so on. They could also provide a much needed boost to Microsoft's mobile efforts. However, if software developers don't embrace this concept and they don't write universal apps for Windows, it will remain just a great idea that went nowhere. Only time will tell! Until then, don't hesitate to leave a comment and share your opinion about this concept. Is it any good? Do you see it as having a future? Let us know using the form below.