Jump to content

Microsoft's Universal Windows Platform is not dead, but it has evolved over the years


The AchieVer

Recommended Posts

The AchieVer

Microsoft's Universal Windows Platform is not dead, but it has evolved over the years

Microsoft's one-app theory for all devices is not as critical as it used to be, but that's not new
 

What you need to know

  • New claims that UWP is dead mischaracterized what is really happening.
  • Microsoft did shift UWP app strategy over two years ago to focus on desktop.
  • Developers now have more ways to bring apps to Windows 10.
  • UWP is still the primary dev platform for future Windows experiences.

 

It was just over two years ago when I wrote that Microsoft was pivoting away from Universal Windows Apps (UWA) based on the Universal Windows Platform (UWP), and instead focusing more on desktop-style applications for the Microsoft Store. The reasoning at the time was obvious: Windows Phone was on its last gasps, and without it, developers had one less target for UWA.

 

Fast forward to 2019, and Thurrott and The Verge are both running headlines that seemingly spin things. Both articles have truth to them, but there's also a more considerable misconception out there – mostly from non-developers – about UWP, Microsoft's announcements at Build this year, and what the future may hold.

Today, I want to straighten the record slightly, but first, let's define what we mean by UWP.

NUANCE IS IMPORTANT

Microsoft UWP or UWA?

microsoft-store-trending-2.jpg?itok=Lqd3

 

The Universal Windows Platform goes back to Windows 8, and it was meant to usher in a new age of Microsoft and computing. Back then, the mantra was "three screens and a cloud" referring to Xbox, PCs, and phone.

 

Of course, what people mean when talking about apps like Microsoft News, Weather, Mail, and apps from third-party developers is Universal Windows Apps – apps that run across all three devices with few changes.

 

Conversely, the "universal platform" part in UWP refers to the shared APIs and resources that developers have access to when writing an app, not the app's hardware destination. This distinction is crucial as we'll see below.

There's a difference between the Univeral Windows Platform and Universal Apps

Microsoft has conflated these terms frequently, using UWP for shorthand. This mixing of terminology was especially true during the Windows 8 days when even desktop PCs featured UWAs as the primary app experience.

 

Tom Warren, from The Verge, said, "This dream really started to fall apart after Windows Phone failed, but it's well and truly over now." I'd argue differently. The original fiasco goes back to Windows 8 and its failed tablet strategy where UWAs were supposed to shine. Once Microsoft rolled back the new Start Menu experience in Windows 8.1 – and ditching it entirely in Windows 10 – UWAs lost momentum in PC.

 

The decline and eventual loss of Windows Phone only made matters worse.

UNDOING THE DAMAGE

Microsoft's developer mistake(s)

Microsoft_Steve_Ballmer_Surface.jpg?itok

 

The failure of Microsoft's Windows tablet and phone experiences is undoubtedly a significant contributor to the de-emphasis of UWP.

 

But one other reason — which Microsoft has been trying to rectify these last few years — was the insistence that developers convert all their "classic" Windows apps to UWA using UWP. This approach was all-or-nothing and driven heavily at Microsoft's Build developer events between 2013 and 2016.

Microsoft will meet developers wherever they are regardless of dev platform.

To be fair had Windows 8, PC tablets, and Windows Phone taken off UWP and UWA would be heralded as ahead of its time. Instead, it failed and with it the broad ambition of UWA. (Apple and Google are ironically running with the idea now.)

 

Developers bristled at the move. Mary Jo Foley of ZDNet got as much from Kevin Gallo, Corporate Vice President of the Windows Developer Platform, who said "we shouldn't have gone that way" noting the eventual Win32 and UWP divide that it caused.

 

Case in point, UWP could not match the power of 20+ years of Win32 development — it was too green. With missing APIs and features even if developers wanted to port a mapping app over, if the mapping API was incomplete, or lacked features they needed, there was little motivation to do so.

 

It's true that Microsoft did not make it easy for developers to port to UWP and create UWAs. But that started to change, and it was especially prevalent at Microsoft Build this year, where the company took a more conciliatory approach: we'll meet developers wherever they are.

OPEN UP TO DEVS

Just call 'em Windows Apps

uwp-build-2019-4-state%20of%20the%20unio

From Build (2019) "State of the Union: The Windows Presentation Platform"

 

This point brings us to where Microsoft is going with all these changes today. For Microsoft, the future isn't only about UWA, but about WPF, Win32, and WinRT too. Toss in support for XAML Islands, React Native, Electron, or being able to use Chrome's JavaScript engine for Progressive Web Apps (PWA) for good measure.

 

Under Microsoft CEO Satya Nadella, the company has been moving to an inclusive approach to the company's structure, services, and yes, app development. The company is not shying away from UWA or even UWP, but they are backing down from the "all or nothing" mantra. Instead, the company wants developers to use whatever tools they have to bring apps and games to Windows 10 and the Microsoft Store.

 

Sharing his opinion on the matter, Matt Velloso, Technical Advisor to the CEO at Microsoft, had this to say:

Why does it [UWP] need an identifier? The more the walls separating these different Windows development platforms crumble, the more developers needs can be met where they are, with their existing code, that can evolve, mix and use whatever works best. We want no cliffs. Pick whatever, evolve it whatever way... Life is too short. I don't get all the "this needs to beat that" and stuff.

The point by Velloso is crucial. Windows never really had a primary dev platform (Win32 was close) because of the open nature of the system. Developers have been porting apps, bringing new languages, emulating, sandboxing, scripting for years. It's what makes Windows great.

Nothing has changed regarding UWP, but how we talk about it changed years ago

With Microsoft bringing XAML Islands to Win32, or Fluent Design Language to iOS, Android, and the web, it's clear Microsoft wants to be the one-stop developer house for all developers. The days of app developers being platform-centric are fading away. The future is PWA, Electron, React, or JavaScript — things that UWP are already compatible with.

 

uwp-build-2019.jpg?itok=yeMfM9Qh

UWP targets: From "Building UWP apps for Multiple Devices" (Build, 2019)

 

As announced at Build, these new tools let developers take existing code from legacy apps and by piecemeal, versus a complete rewrite, improve them using UWP. It gives developers the flexibility to adopt UWP at their own pace. As to why developers would want to do this, there are legitimate performance improvements in switching to partial-UWP as well as enhancements from XAML Islands (UI elements from UWP that can now work in Win32 applications).

WHY UWP IS NOT DEAD

Universal Windows Apps are still important

1_legere_ui.jpg?itok=Zb2fJUJd

New "Legere" UWP app for Reddit released June, 2019

 

But are true Universal Windows Apps dead? No. In fact, they play a critical part in Microsoft's future computing experiences.

 

Moving away from desktop PCs to HoloLens 2, Surface Hub 2Windows on ARM, IoT, and Windows Lite these systems are much more dependent on UWA. While Microsoft will let such devices run "classic" Win32 apps — emulated or virtualized — Win32 is by no means the primary dev platform for such systems (I'd argue Win32 is more is closer to maintenance mode than UWP).

 

That's where all this "UWP is dead" talk gets strange as Microsoft is betting huge on holographic computing and things like dual-screen PCs and lighter laptops as part of its future — that's UWP. The idea of people firing up Win32 Adobe PhotoShop in HoloLens or Surface Hub seems quite improbable. That's because Win32 apps are meant for desktop PCs with powerful x86 processors, not ARM, light computing, or holographic experiences.

 

The very basis of Windows Core OS and Windows Lite is built on UWP as the main app layer. Without UWP, Microsoft could only make legacy experiences, not new ones. There is no alternative to it.

TL;DR

Microsoft UWP and what it all means

hololens-2-build2019.jpg?itok=WFnx2X_b

 

Since the failure of the Windows 8 tablet strategy followed by the demise of Windows Phone, Microsoft's vision of Universal Windows Apps (UWA) lost a lot of impetus. Combined with developer distaste to being forced to rewrite apps as UWA and non-matured developer tools Microsoft had begun shifting away from this approach starting back in early 2017.

 

As desktop and laptop PCs became the focus of attention again, Microsoft opened the Universal Windows Platform to cross-platform tools like Electron, PWA, JavaScript and older systems like Win32. With the announcements at Build 2019, Microsoft is now allowing developers to mix and match differing developer technologies with UWP to meet developers where they are now.

Pure cross-device Windows Apps still play an important role, especially for future, non-legacy experiences

So-called "pure" UWAs still have a vital role for Microsoft and developers. These apps serve as the primary app platform for Windows Core OS, Xbox, HoloLens 2, Surface Hub, and IoT. While these areas of computing still pale in scope to "classic" x86 PCs, Microsoft believes these newer systems will grow in importance, especially with the shift to cloud and ambient computing in the coming years.

 

PC manufacturers are also now using UWP to deliver customized app experiences, configuration tools, and drivers through the Microsoft Store, part of Microsoft's Universal Windows drivers program.

 

Nothing has changed in the last year regarding UWP or UWA. Microsoft's failed strategy for tablet and phone is years old, but the company is adapting to the times. Looking forward towards next-gen computing experiences — versus legacy desktop PCs — UWP still plays a critical part serving as the primary (but not only) app platform for those systems.

 

UPW is not dead, it's merely one of many tools developers have to bring great apps and games to Windows devices.

 

 

 

Source

Link to comment
Share on other sites


  • Views 670
  • Created
  • Last Reply

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...