upvote
Yeah, a striking difference between windows and linux at this point is that the linux UI frameworks are hyper stable. If I want to make a linux desktop app, I'll choose QT or GTK. Heck, if I want to make a windows and macOS app, I'll probably choose QT or GTK.

What do I chose with Windows? Who knows. It literally changes every time I look into it.

That's just insane.

It's gotten so bad that probably the right way to do a modern windows desktop app is react native. At least you could predict that it will stay up to date with the ever shifting decisions at MS to create and abandon UI frameworks.

reply
Windows Forms is the answer you seek. It still receives updates to this day. I've been writing and shipping Windows Forms apps for 25 years. High DPI, dark mode, Edge web views, Blazor integration, we've got it all. Users don't even need to install .NET these days with self-contained deployment.

I will boldly claim Windows Forms is more stable than Gtk and Qt. Don't let random teams at Microsoft confuse you because they released yet another unrelated framework that you don't have to use. They are engineer-sirens trying to lure you from the true path. Let them pursue their promotions in peace while we rely on a stable workhorse.

reply
On Windows, I would chose WinForms. Even today, even over WPF. It's as stable as QT and GTK, still supported, and has a large community of contributors and 3rd party vendors.
reply
GTK 2, GTK 3, or GTK 4?
reply
Various versions of GTK which introduced breaks but didn't really change the core philosophy of how you build a GTK app. IMO, this is the preferable way to evolve an ecosystem.

The problem microsoft has is instead of making "Win32, but with these extentions or these APIs removed", heck even as a separate "framework". What they did instead was "You know what's hot right now? XML. So let's make an XML based UI framework. Actually, it's javascript and css, so let's do that. Actually, people really like electron so let's do that."

That is to say, it is possible and I dare say easy to migrate an application from GTK 3 to GTK 4. It's basically impossible to migrate a WPF app to UWP. You have to rewrite the whole thing.

reply
win32 seems to be stable, albeit a bit dated. It's good enough for small things (at least good enough for m$ to use)
reply
All the various windows UI frameworks are stable, but not supported and not receiving new updates.

That's the problem.

And what makes matters worse is because of all the shifts, the documentation throughout MS is in just varying states of outdated. For example, this document which recommends using UWP [1] to handle high dpi problems. But of course, UWP (which was the right way to do gui in Win 10) is now defunct for win ui.

[1] https://learn.microsoft.com/en-us/windows/win32/hidpi/high-d...

reply
WPF is also stable. Microsoft's UI strategy is similar to keeping all of Motif, GTK2, Qt5 alive while engineering new stuff into Qt6 without deprecating anything.

Btw Linux UI is not by any measure stable. It is the furthest thing from stable.

reply
Strong agree!

They had great devices before iOS/Android and then again after. That Lumia phone was awesome. They had one of the best cameras. Their live tiles they had on the phone & desktop OS were really good. Even Windows 8 had a cool CRM app in its infancy that tried to link all your social media & email accounts together.

They killed all of that even with multiple chances to win people over. It seemed they wanted to win the new markets in less than a year.

For as much flack as Google gets for short lived awesome products, Microsoft is right up there. Which is why when they've announced new things like Blazor, MAUI, etc., no one expects them to live long enough to trust their apps on.

I also strongly question their enterprise MOAT when most kids are growing up on Apple & Google devices the past decade. Microsoft seems to lack long term strategy.

reply
> They abandoned their mobile phone, tablet, and wearable strategy

They were way too late to make a dent. Ballmer made the mistake when the iPhone came out to not get their ass in gear to compete. Microsoft's first potential real competitor to the iPhone came with Windows Phone 7 at the very end of 2010. The iPhone was announced in January 2007 and they didn't have anything to compete until almost 4 years later. I'm not sure how they could have recovered from that by the time they gave up on Windows Phone/Mobile in 2017. Anyone who worked in mobile sales at that time knew most people who did buy a Windows Phone ended up returning it when they realized none of their apps were there. They could have had apps if they recognized the iPhone's threat earlier and reacted appropriately.

Also worth mentioning that in their time competing for mobile they did a fairly hard reset of the platform 2 more times for Windows Phone 8 and Windows 10 Mobile. Go find what developers who tried to keep up have to say

https://news.ycombinator.com/item?id=15432720#15434572

reply
Yeah, especially funny since they had the early lead with their iPaq PDAs and Windows CE. Which they completely squandered by ignoring them.

Then they acquired Nokia that already had an almost-ready ecosystem of apps, with good snappy UI. And then spent two years building a (shitty) framework on top of the long-neglected Windows CE kernel. Which was known from the start to be a stopgap solution before they port the full WinNT kernel.

reply
totally.

MS ended up where it was at because there was basically NO upgrade path between the few different GUI frameworks they had. They broke the whole thing in 2002 when they decided .NET was the way.

You had to basically retool your whole GUI for whatever they were pushing at the time. Then they basically abandoned win32 GUI items and put them in mothballs. Then change their minds every other year.

No sane person is going to pick that model of building an application. So the applications kinda stagnated at whatever GUI level they came into being with. No one wanted to touch it. If I am doing that why am I sticking with windows? I can get the same terrible effect on the web/mobile and have a better reach.

Even their flagship application windows is all over the place. If you click on the right thing you can get GUI's that date back to windows95. Or maybe you might get a whitespaced out latest design. It is all over the place. It has been 10 years at this point. They should have that dialed in years ago.

I do not think Google will be able to pay attention long enough to have a stable GUI. Apple maybe. As for MS you can see it from the outside there are several different competing groups all failing at it.

MS needs another 'service pack 2' moment. Where they focus on cleaning up the mess they have. Clean up the GUI. Fix the speed items. Fixup the out of the box experience (should not take 4gig of used memory just to start up). Clean up the mountain of weird bug quirks.

reply
Didn't Google give up on chromeOS? For all their faults, at least Microsoft has a desktop os
reply
Not really. They are merging it with Android. Or in other words, they're making Android into a full-blown desktop OS.
reply