Windows 10 has been one of the biggest changes to Microsoft operating system. We have a new design and new features but what about changes for developers?
Windows 10 introduces the Universal Windows Platform (UWP), which provides a common app platform available on every device that runs Windows 10. This means that we can create a single app package that can be installed onto a wide range of devices such as PC, Xbox, Surface Hub, HoloLens, IoT, Tablet and Phone.
Should we go on?
Firstly, let’s talk about phones with Windows operating system. Just take a look at smartphone operating system statistics:
Yep… We have to say that Windows for phones is almost dead. This is not the best information for UWP developers, but we should focus on other device families.
Secondly, let’s check PC’s operating system statistics (April 2017):
Not so bad! We have to remember that, for example, most of the ATMs use Windows XP, and usually we won’t run our app on this kind of devices. Windows 7 is still the most popular, but this operating system is typically installed in National Institutes and other organisations.
If we are focused on a different kind of customer, it is still a good idea to use UWP for our app. What about another type of devices? It is hard to find some statistics about it, but when we visit Microsoft site we can find information like this (May 2017):
If we say to our clients: “This app will work on more than 400 million devices”, probably they will be happy. Next big thing we may be creating is an app using Xamarin. Usually, we use Xamarin to create Android and iOS applications, and most developers don’t target their apps towards Windows 10 Mobile.
But it is not so hard to create UWP app using our Xamarin code.
Developers could do 90% of work automatically by using Microsoft tool, so why not do that 10 %? There’s not much work to run our Android and iOS app on every kind of device with Windows 10.
Windows in next 10 years
This is pure conjecture with no basis in fact, but we can imagine that we won’t have traditional desktop PC and we will use only HoloLens. We won’t need a screen anymore, will have all our files in the cloud and will use Bluetooth keyboard and mouse. What about Xbox? You can already stream your Xbox One to the HoloLens and play it from there (without a screen). And in the future, gaming may be fully in the cloud.
UWP has some disadvantages. The biggest one is that our application won’t work on older operating systems than Windows 10 (Windows 8.1, Windows 8, Windows 7….). So when we should use it? When our client needs a modern application (especially for the younger generation), this could be the best choice.
What is also great is that we have a wide selection of programming languages:
- XAML and C#/VB/C++
- DirectX and C++
So usually you don’t have to learn new programming language. You can just use your favourite if it’s possible. One application means also changes in one place and need to update just one app in the store, which will work on every kind of device.
Microsoft is now focusing on UWP and API expansion. They create great new features for this sort of application.
For example, in new Creator Update for UWP they introduce a new compact overlay mode. When an app window enters compact overlay mode, it will be shown above other applications (it won’t get blocked). This allows users to keep an eye on your application content even when they are working with something else. This is an excellent feature for media player or video chat.
What feature will be next? We will see.