Should you write Win32 programs or Universal Apps?

by Volker Weber

I asked Microsoft, why developers should be writing Universal Apps instead of Win32 programs. This is the answer:

  1. Windows 10 will support Win32 apps in Store. This is a great way for developers to extend the reach of existing code.
  2. For new apps, we recommend creating Universal Windows Platform apps.
  3. A UWP will run on the full range of Windows 10 devices; tablet, PC, phone and eventually Xbox, IoT and holographic scenarios
  4. Microsoft is offering existing Windows customers a free upgrade to Windows 10, which should in turn give developers a broad common install base relatively quickly

I did not know #1. #2 does not explain why. That's in #3. With a UWP I would give up Windows 7, Vista, XP users. I am not sure about Windows 8.x. But I would gain phones, eventually Xbox, IoT and Hololens. That sound like a big risk.



I think it should really be ok to lose XP for new development, considering its status. On paper the continuum stuff looks really compelling for a great deal of enterprise employees. Then it will also be interesting to see numbers how many users will upgrade from win7. Probably much more in the consumer than the enterprise market.

So if you must target Win 7, it's probably for the enterprise market. In that case you should also ask yourself whether a web app will do. Or writing 2 apps with a shared core, which based on .NET tech is a viable option.

Frank Quednau, 2015-07-16

Given #1 and that you have to give up all non-10 devices I would think: Those who today develop Win32 will continue to do so. Especially in company / enterprise environments. Most companies I worked with are still on Windows 7. With #1 Microsoft is not even forcing a decision, yet.

Interesting problem:
If your software does not need to run on Windows <= 8, then why does it have to be restricted to Windows at all?
What I mean: why then build a windows universal app and not i.e. Java, phone gap, unity, web application etc. ?
This would open your target to Mac OS, Linux, mobile regardless of platform (at least web).
What are developers using today if they do not want to restrict themselves to Windows?

Tobias Hauser, 2015-07-16

In Win10 apps installed from the store have certain properties and can do things classically installed apps can't. They are conveniently licensed, installed and updated from the store. The can be preinstalled (provisioned) on the device, so during installation they don't need to be downloaded, only a license is acquired. They have live tiles, toast notifications to the action center, notifications on the lock screen and a whole buch of other stuff. That does not only work for UWP apps. Once a win32 app is submitted to the store, it gets an app id and then - with a little extra coding - has toast notifications, live tile etc. The same goes for java/web apps and all the other bridging technologies.

I think Microsoft is betting big time that developers not only will submit their old stuff to the store. But that once they are in, they will take advantage of the new possibilities - add notifications, hook up their game with xbox live achievements, etc. And once they look into all the features they might consider a native UWP, then they get access to continuum and other device types in the platform.

From the user perspective, with all the effort that went into the new in-box apps, I think Microsoft is working very hard to establish store apps as the new standard desktop applications. (They even redid the browser as an UWP app.) And I think that the features and advantages will improve rather quickly. I wouldn't be surprised to see install/uninstall on multiple devices, actionable notifications, jump lists for UWP apps, etc. rather sooner then later.

Microsoft needs Universal/Store apps to be a success on the desktop. That billion devices they were talking about - that are desktop computers. If they are successful on the desktop, that success will trickle down into other device classes. IoT, xbox, maybe even Phone.

Max Nierbauer, 2015-07-16

When talking about new apps, I think it depends on your target and the needed capabilities of the app. If it is 'modern computers' (tablets, mobile) and if it can be done using the universal app APIs - go for it.
For existing assets the question might usually not come up.

Hubert Stettner, 2015-07-16

Old archive pages

I explain difficult concepts in simple ways. For free, and for money. Clue procurement and bullshit detection.


Paypal vowe