Top
Best
New

Posted by domenicd 12 hours ago

Windows native app development is a mess(domenic.me)
257 points | 261 commentspage 3
TheJoeMan 4 hours ago|
I’m still confused which frameworks are tied to which “visuals”. Ignoring the web-frameworks, do Win32 apps inherently look like Windows XP buttons or can they look more modern?

It might be nice if the article could add screenshots, a few of the Wikipedia links have a screenshot, but again I’m not sure if you’re limited to that UI or not.

I also like the carousel in the article showing the tray menus, but again not sure what they are each “built-with”.

domenicd 10 minutes ago|
From what I understand, Win32/MFC/WinForms inherently are stuck around Vista visuals, with no dark mode support. Win32/MFC also have no high-DPI support, so you get gross upscaling. (WinForms supposedly has some support for high DPI, but with many open issues. [1])

Now, I'm not 100% sure, since there are so many commenters in this thread saying "just use Win32/MFC like a real man". (Most of them ignoring the memory safety angle.) I might do a follow-up asking Claude to reproduce my UI in the various frameworks to test. But my strong guess is that we just have a bunch of HackerNews curmudgeons who are happy to foist pixelated Vista-era light-mode-only UIs on their users.

[1]: https://github.com/dotnet/winforms/issues?q=is%3Aissue%20sta...

intrasight 9 hours ago||
"So when I went to work on my app, I was astonished to find that twenty years after the release of WPF, the boilerplate had barely changed."

Such is the benefit and the curse, I guess, of having the Windows API being locked in the distant past for backwards compatibility.

I've always been surprised that Microsoft didn't do a full operating system refactor and provide a compatibility layer for running old binaries. Perhaps they figure it would be better to just transition everything to software as a service using web tech? But I just don't see how that strategy is gonna work long-term.

mwkaufma 5 hours ago||
They DID such a refactor for Win NT under David Cutler. Even in that comparatively simpler time it was a huge undertaking, and required all-hands-on-deck management that doesn't exist anywhere in tech anymore, let alone at today's Microsoft.
fsloth 9 hours ago||
"I've always been surprised that Microsoft didn't do a full operating system refactor and provide a compatibility layer for running old binaries"

Just keeping a legacy system in working order is different skillset than writing a new system from scratch.

So you need a new team. Nothing from Windows maintenance transfers.

Maybe would require hiring someone who knows how to design an OS.

It would be a major undertaking, needing protection by CEO (and if it would not succeed CEO would loose a lot of prestige).

I'm not saying MS does not have the existing talent base. I don't _know_.

But I've been inside a house maintaining a monstrous legacy codebase.

I can tell you - it requires surprisingly little deep understanding just to keep an existing system going.

tehologist 2 hours ago||
TCC supports win32 and is less than a meg download and as an added bonus supports linux very well thanks to wine.
PaulKeeble 8 hours ago||
Most of the desktop applications I have wrote over the years have been in other languages like Java and Go as I have wanted them to mostly be cross platform. In these cases I have always used the Software UI, which in Java is Swing and in Go is Fyne. These are usually reasonably fast, don't necessarily look native depending on how its themed but ultimately fit the language better than trying to bridge to Win32 or GTK/QT.
NetMageSCW 3 hours ago|
But punish the user so you can develop cheaply and lazily? I’m not sure that’s a model I would want to follow.
fermentation 4 hours ago||
The Windows code signing experience has prevented me from shipping apps that otherwise run perfectly fine on the platform. It is a nightmare and I cannot believe it wasn't called out in the "We want to fix Windows" blog post.

Just do exactly what Apple does. Charge me $100 directly from you and let me build an .exe that I can distribute on my website.

vegasje 4 hours ago|
This isn't well-known, so I figured I'd mention it.

Microsoft offers a service called Azure Artifact Signing (used to be called Trusted Signing) that manages code signing for you:

https://azure.microsoft.com/en-us/pricing/details/artifact-s...

It's $9.99/mo, and you don't need to worry about procuring or renewing code signing certs.

hestela 3 hours ago||
When I tried to release a flutter app via exe installer, google drive said it was a virus but it otherwise installed just fine in windows 10/11. I'm doing the same thing for msix for now. But when I searched for certificates I could only find closer to $200/yr and you need to load it in the latest $100 yubikey due to the fips requirement. I didn't realize that CAs dont let you just get the private/public key files any more. Only distribution method is hardware based fips key. I've given up entirely on code signing since I only made a single open source project for amateur radio.
xg15 4 hours ago||
> One might think that an advantage of controlling C# would be that Microsoft has carefully shaped and coevolved it to be the perfect programming language for Windows APIs. This does not appear to be the case.

I think they spent all their mana for that on pre-.NET Visual Basic and then had nothing left.

jerhewet 1 hour ago||
Steve Gibson, Gibson Research.

https://www.grc.com/freepopular.htm

Just scroll down the page and look at the size of the completely self-contained executable programs. THIS is what Win32 is capable of. Something we always had with Win32 that was thrown away with .Net and C#.

And _please_ just spare me your opinions of how Steve Gibson "doesn't know anything about security". That's not what's important here. What's important is how freakin' small his full-on GUI stand-alone executables are.

EDIT: Just noticed this on his page.

Total Historical Count of files downloaded from this page: 52,292,601

ozim 9 hours ago||
That is why everyone even Microsoft themselves does Electron.

Running with html/css/js has benefits it really is open and free development based on international standards and not locked into any single big tech.

Boxxed 9 hours ago||
I don't know, I think it's pretty embarrassing that Teams is an electron (or whatever) app. The plot on native has been lost so badly that even the fucking company that makes the OS doesn't want to deal with it.
IlikeMadison 8 hours ago|||
Electron is the worst thing that happened to quality software. I spoke to two HR guys last year at the company I'm working at and they told me they ditch every single resume mentioning "web technologies" in them. Funny part is when they also told me these "bad" resumes are for the vast majority H1B wannabees.
debugnik 6 hours ago|||
What's so funny about that? Most electron turds I deal with are American in the first place, they must be trying to appeal to you.
ToucanLoucan 4 hours ago|||
Second. I wouldn't say we ditch resumes on that basis, but ultimately, we're a native outfit only. You can be the best damn app developer on Earth but if all you've ever used is Electron, well, I can't use you.
NetMageSCW 3 hours ago|||
Say what you will about Apple, they at least still think it’s important to support and do native development, especially for their OS. Microsoft might as well have bought webOS as their new Windows replacement and admitted they’ve given up on native apps.
userbinator 24 minutes ago||
Do original Macintosh binaries still run on the latest macOS? I haven't looked much at the situation on that side but I believe Apple has no equivalent to the Win32 API.
pier25 9 hours ago|||
Isn’t Microsoft also using React native for desktop stuff?
anthk 8 hours ago|||
NPM it's the bigger turd happened ever, slow and bloated. And JS today amounts the biggest enforced propietary loading method of existence in almost every web page.

Open? You wish.

>and not locked into any single big tech.

DRM and propietary cody tells me otherwise.

ToucanLoucan 9 hours ago||
Clown shit. “We’re made our own OS a nightmare to build on so we’re gonna use JavaScript powered pseudo-VMs and make everything take 2 gigs of ram minimum”
lpcvoid 9 hours ago|
Lazarus is crazy good, as is Delphi, if you can afford it. wxWidgets is also nice, without the licensing weirdness that is Qt.
steve_taylor 8 hours ago||
Lazarus is probably the easiest way to make a lean and fast native Windows app without paying for tooling.
throwaway2046 5 hours ago||
wxWidgets is just a wrapper around existing UI libraries; win32 on Windows, and Gtk/Qt on *nix.
lpcvoid 3 hours ago||
Yes, as is the VCL that Delphi ships, along with the Lazarus component library which bases on Qt or GTK on Linux, and Win32 on Windows. It's the same sort of layer.
More comments...