top | item 24558418

(no title)

chin7an | 5 years ago

I don't do any desktop development or use Windows much for that matter, but it looks like as of today, there are at least 4 ways [0] to build Windows desktop apps. No wonder the UX feels far less consistent and enjoyable than macOS.

[0] - https://docs.microsoft.com/en-us/windows/apps/desktop/

discuss

order

wvenable|5 years ago

Microsoft wanted to take developers in a direction they didn't want to go. They seemed to have realized their mistake and trying to unify this mess. In the recent past, you wouldn't find WPF and Windows Forms mentioned in the same article as UWP.

Apple had their own problems with this (Carbon vs Cocoa) but that legacy has been shaken off.

chin7an|5 years ago

That's interesting, did not know about the carbon to cocoa move, couldn't afford anything Apple back then :)

If both platforms had to handle such migrations, I guess it's only fair to say that Windows' solution would be much more difficult given how committed Microsoft is to maintaining backwards compatibility.

jeroenhd|5 years ago

For a language compiling to native instructions, there's really only the C(++) API. UWP is barely used in my experience and WPF/Windows Forms are basically exclusive to the dotnet framework.

Windows Forms and the native API share most of their controls' look and feel while WPF is a free-form application framework that allows you to ignore all UI standards if you desire to. I can't remember the last time I've seen a WPF application though, I think it's either dead or dying already.

UWP is the new API Microsoft really wants everyone to use. It comes preloaded with the "native" Windows 10 feel with their new design and is intended to be distributed through the MS app store (though you can install packages manually with some effort as a developer).

It's what new applications aiming to be Windows native probably should be using in my opinion, but most developers seem to stick to the native API or its wrappers. That means there's barely any UWP applications in use by most people, which means they aren't used to the UWP style, which means they find UWP apps weird, which means there's barely any UWP apps, etc., etc., etc.

donor20|5 years ago

The push now for UWP is so misguided. I have no clue why they've decided to spend decades making apps jankier and weirder.

jmnicolas|5 years ago

UWP is so last year! We're all about WinUI now! ;)

thought_alarm|5 years ago

I suppose if Swift can only interoperate with C APIs, Win32 would be the only option.

ratww|5 years ago

Well, Swift uses LLVM, so it's possible to link it to C++ code with extern "C" declarations.

saagarjha|5 years ago

On macOS there’s three: Cocoa, Catalyst and SwiftUI.

coldtea|5 years ago

All map to more or less the same underlying libs and widgets, so there's no real difference...

In Windows there are totally different widget look and feels supported...