Live data from Hacker News

Windows native app development is a mess

domenic.me

311–320 of 481 posts

Re: Windows native app development is a mess

#311

Because I didnt see it already mentioned. Avalonia[1] and Uno[2] for C# are also really great if you want to write windows apps. I wrote some in Avalonia that worked incredible nice on Linux and Windows. You dont have to use MVVM or AXML for example Uno allows for C# Markup[3] to be used instead or MVUX instead of MVVM. I personally hate MVVM and AXML but you are not forced to use them. For Avalonia I dabbled in crea…

They are both mentioned in the article. But I appreciate the extra experience and details, beyond what I got from browsing their landing pages and GitHub repos.

Re: Windows native app development is a mess

#312
Microsoft has been butchering software development for decades and maintaining dominance through pure business, legal and government connections. It's become like Oracle.

Developers being forced to use horrible Microsoft products is the logical consequence of that.

As a software engineer, most of my job exists to give credibility to the narrative that Microsoft is useful... And I don't even work for Microsoft. It's clear that there are deals behind the scenes which force many large companies into Microsoft contracts. The engineers have to work with what they get and pretend the tech is OK but behind the facade, it's clear from the jokes on the Microsoft Teams chats that they think differently!

Re: Windows native app development is a mess

#313

Earlier quoted context omitted.

Only a very small minority of users actually care about dark mode. It is not a general expectation for software, as loud as those users may be on forums like this one.

And how do you know this? I decided to check myself, looked for dark mode statistics on android, and: >Dark mode is used by 81.9% of 2,500 Android users on their phones, in apps, and in other situations. 9.9% alternate between the light and dark So it's the other way around. Only a very small minority of users actually care about light mode.

I'm not sure how much Android use generalizes - I prefer light mode, but I'll use dark mode for the battery savings on portable devices with OLED screens.

Re: Windows native app development is a mess

#314

Thanfully, you don't need to write p/invoke stuff yourself anymore. https://github.com/microsoft/cswin32 creates methods and all related structs for you. It's also AOT compatible (if you specify it). It works for calling C and COM functions. I mean, not like this brings Windows development anywhere close to "modern", if anything, it feels like you're moving into the opposite direction, but at least this solves the "T…

This is discussed in the article, including why I tried it and ended up reverting to normal P/Invoke.

Re: Windows native app development is a mess

#315

> However, for no reason I can understand, Microsoft has decided that even the latest versions of Windows 11 only get .NET 4.8.1 preinstalled. .NET has new releases every year, supported for 2 or 3 years. That’s not really compatible with Windows release cycles. Also, if Windows 11 25H2 shipped .NET 8, and now Windows 11 26H2 would ship .NET 10, apps which depend on version 8 might break. Easier to just think of .NET…

Last time I heard WPF was basically abandoned (open-sourced) and handed over to die to some Indian folks.

Something akin to WCF

Re: Windows native app development is a mess

#316
post #59

This is quite timely as we need to write a simple UI for Windows (a few buttons, status, maybe a file menu). The main constraint is it must compile to a single binary (.exe) with no dependencies such as runtimes, DLLs, languages etc. It also needs to run on some older unsupported Windows systems, probably Windows >= 7, 32 bit. My first thought was MFC. Basic, fast, well understood. But then maybe WxWindows so we can…

For what you describe, .NET + WinForms or WPF will work just fine. These days it can built self-contained executables, although they won't be small (but then again, when many websites have multiple megabytes of JS...). Or you can target .NET 4.8 - for something this simple I doubt there'd be much difference but then you can ship an .exe that measures in kilobytes, and the runtime is included with every version of Windows going back 10 years.

Re: Windows native app development is a mess

#317
post #63
post #62

Earlier quoted context omitted.

Delphi or Lazarus ( https://www.lazarus-ide.org ) should solve it.

Nice, I didn't know there was a free software version of Delphi nowadays.

If you mean Delphi Community, it has some restrictions, but probably 99% works?

If you mean Lazarus, it is fully open source. No restrictions but the ones of the software itself.

Re: Windows native app development is a mess

#318

I agree with all the comments here saying "stick with Win32" --- this is "a mess" that you can easily avoid. Speaking as a long-time Win32 programmer, the requirements for your app are doable in a few KB (yes, kilobytes --- my vague estimate is less than 8KB) standalone executable. This is how I arrived at that: Enumerating the machine’s displays and their bounds A few API calls. Probably a few hundred bytes. Placing…

IDK man, I wonder how TF did the creators of Winamp do it? Were they so much smarter than the programers of today? And Winamp 2.95 still works on WIndows 11 today. IIRC Borland Delphi was the most popular tool back then for making Win32 apps since it was so easy to use.

Yes, of course they were smarter.

Re: Windows native app development is a mess

#319

It has been a mess for 15 years and Microsoft keeps making it worse by adding new frameworks without retiring the old ones. Win32, WPF, WinUI, MAUI. Nobody knows which one to pick.

[flagged]

You don't have to go all the way back to Win32; anything from the pre-WinRT era is fine. MFC, WinForms, WPF are all still supported and updated.

Re: Windows native app development is a mess

#320

I used to code Win32 around the Win 95/98/2000 era (my first VC++ was 1.0 for 16bit) but switched to BSD and Linux around 2000 and haven't looked back. I avoid Windows as much as possible and did learn about .NET and how slow it was but I'm a bit shocked that Win32 is still a thing and still being recommended. Sort of makes me happy and sad at the same time...

.NET is blazing fast by modern standards (given that the typical app experience these days is Electron, meaning Node.js).
Post reply on HN