Live data from Hacker News

Windows native app development is a mess

domenic.me

291–300 of 481 posts

Re: Windows native app development is a mess

#291

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.

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.

Except this requires you to own a business for 3+ years, which makes it a non-starter for indie apps.

Re: Windows native app development is a mess

#292
post #212

Earlier quoted context omitted.

The main thing that's hard going down this route is dark mode support. The Win32 USER and common controls just don't not support dark mode, but are actively hostile to it due to the amount of hardcoded light colors and backgrounds in the system. All of the system colors are light regardless of the dark/light system setting, highlights are hardcoded to light blue, disabled controls use a hardcoded color, half of the w…

First, dark mode is for people who set their screen brightness too high. Second, win32 is designed with the ability to change all the default colors and you used to be able to do this by right clicking the desktop and selecting "properties". If dark mode doesn't follow this - just another symptom of Microsoft's siloing incompetence. The team that wrote dark mode may not have been aware that this feature existed becau…

> First, dark mode is for people who set their screen brightness too high.

Not at all. It became popular mainly because as part of the spread of the flat UI epidemic, the previously non-optional “light mode” OS UI themes all shifted away from midtone colors to blinding stark whites. This meant that monitor brightness settings that had previously been comfortable suddenly weren’t.

On top of this, modern flat UI light mode themes consistently have poorer contrast and delineation than their dark mode counterparts, because higher contrast with darker grays makes flat white UI themes appear “dirty”. So even if the brightness isn’t an issue, your eyes have fewer visual cues to guide them.

Aside from that, on IPS panel monitors lowering brightness past a certain point also greatly lowers color vividness which looks bad, which is why some of us like to keep it maybe not maxed but a bit higher than is comfortable with light mode.

Re: Windows native app development is a mess

#293
post #212

Earlier quoted context omitted.

First, dark mode is for people who set their screen brightness too high. Second, win32 is designed with the ability to change all the default colors and you used to be able to do this by right clicking the desktop and selecting "properties". If dark mode doesn't follow this - just another symptom of Microsoft's siloing incompetence. The team that wrote dark mode may not have been aware that this feature existed becau…

Dark mode for apps is a setting in the OS and a general expectation now, it's suboptimal to ship a new UI that doesn't support it. And, again, Win32 message boxes in your program will switch to dark mode whether you want them to or not. Win32 controls ignoring system colors goes much farther back than dark mode being introduced in Windows 10. The theming engine that broke a lot of that functionality was introduced in…

Dark mode ignoring Win32 system colors is not incompetence. It was _intentional_.

Intentional malice, in other words. A stupid attempt at pushing UWP.

Re: Windows native app development is a mess

#294
post #98

Earlier quoted context omitted.

Tcl/Tk is pretty good in terms of rapid development. Unfortunately it has stagnated quite a lot over the years. Gtk on the other hand is absolutely terrible and its developers don't help by completely rewriting things every few years and breaking all existing code in the process.

Tcl/Tk was also popular in certain niche products, like in RF test equipment.

It's still quite big in EDA (electronic design software).

Re: Windows native app development is a mess

#295

Earlier quoted context omitted.

Yet we cannot consider Qt to be native app development since every app requires the Qt runtime. Native means system libraries only.

I have always considered Qt apps (even for Windows) to be native. Think of VLC, VirtualBox, etc.

I'd consider them "naturalized"; close enough to native that you wouldn't notice any big differences, but there are still minor ones if you know what to look for.

Re: Windows native app development is a mess

#296
post #144

Again, unless you have existing Windows 8/10 applications that were written against WinRT, UAP or UWP[0], that make use of WinUI 2.0, forget about touching anything related to WinUI 3.0 or WinAppSDK, stay away from the marketing. Exception being the few APIs that have been introduced in Win32 that instead of COM, actually depend on WinRT like the new MIDI 2.0 or Windows ML. Keep using Win32, MFC (yes it is in a bette…

Just wanted to add a shoutout to WinJS for posterity, with which I built a Windows 8 app that I had published to the Windows Store for a brief period of time. Then they open-sourced the UI part of WinJS and decided it was just a web framework instead of an officially supported method for building Windows apps iirc, which was the end of my foray into the Windows store. https://github.com/winjs/winjs

I was actually part of a team at Barnes & Noble.com which tried to use WinJS for a serious application. (We were previously using Chromium Embedded Framework, or our own hand-rolled WebKit integration, for the desktop e-reader.)

It didn't go great. I gave a talk about it. https://youtu.be/HySQR0t_7CI?si=5sfKbb-7u-qqD65R . (Be gentle to my 2012 self's speaking skills.)

Re: Windows native app development is a mess

#297
post #85
post #37

Author raises several good points. Why isn't the latest .NET runtime pulled down into Windows 11 devices via Windows Update? Why isn't there a better path forward for deployment? It's another example of how they have completely abandoned any attempt at providing a good user experience across their products

Windows update is how it used to work and it's terrible. An update breaks old apps, or downloads a every single version (not feasible). Who would want to run windows update to install a new app? It's just a bad idea. Today we just pack in the DLLs and it just works.

An update breaks old apps

That's something which is MS' problem; they're supposed to be the company who is best at backwards compatibility, but clearly have strayed from that path.

Re: Windows native app development is a mess

#298

Earlier quoted context omitted.

Just wanted to add a shoutout to WinJS for posterity, with which I built a Windows 8 app that I had published to the Windows Store for a brief period of time. Then they open-sourced the UI part of WinJS and decided it was just a web framework instead of an officially supported method for building Windows apps iirc, which was the end of my foray into the Windows store. https://github.com/winjs/winjs

> for posterity Anyone remember this one? Microsoft Press: Learn Java Now (complete with J++ installation CD). https://www.amazon.com/dp/1572314281

The CD is available on Archive.org

Re: Windows native app development is a mess

#299
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…

Pure Win32 will do exactly what you want. Single tiny .exe that works from Win95 to 11. Even Linux with WINE.

Get started learning here: https://news.ycombinator.com/item?id=21459616

Re: Windows native app development is a mess

#300

Earlier quoted context omitted.

Why single out WebViews? Would you consider Flutter native? It renders widgets on its own just like a WebView does.

For me, native means "I can integrate a platform widget in the middle of it". For instance, with Qt, GTK or wxwidgets it's entirely possible to integrate a Win32 / Cocoa / X11 component right in the middle of your app (and it's super important for instance for things such as integrating audio plugins, where the plugin only gives you a HWND or NSView and you have to draw your application Chrome around it, have it foll…

So then flutter will let you do that, with a little elbow grease.
Post reply on HN