In other words, you're assuming that people don't build for your platform because they're "bad."
Why so cynical?
I can understand disappointment around great apps that don’t ever cross the platform threshold, totally, but I’ve never thought of that as terrible, or that the developers themselves are bad. This attitude of “you don’t like what I like so you’re just wasting my time” is super strange.
That's not the case at all. The problem is that, much like shipping native apps, supporting a second graphics API for Mac/Linux is a pain in the ass, so nobody does it. On MacOS, OpenGL is too slow for most modern titles and Metal is too high-level and doesn't have good language bindings. Same goes for why games run better on Linux than they do on MacOS; translating DirectX to Metal is simply too slow, even for the highest-end GPUs that Apple ships. An M1 Max will struggle to get 1050Ti-tier performance when running games through MoltenVK, and doing the same thing through OpenGL certainly doesn't improve the situation.
For minimal compromise, you'd write it in Rust/C/C++ with a GUI toolkit that leverages the native stylesheet to render everything out. It'll be fast, it will run cross-platform, and it will take forever to build. However, this is the """right""" way to do it, and the one that people will complain least about. There's a number of tools that are distributed this way, but again, it's a pain.
For medium compromise, you'd probably end up with a runtime like Java or dotnet. These runtimes have well-established, long-running GUI projects that seek to tackle this exact issue, and for most people they balance ease of development, speed and "good enough" UI. It's not perfect, but a lot of one-man dev teams will end up choosing this when they want to get on every platform with a native-enough UI.
For maximum compromise, you can ship Electron with JS bindings to a native UI. This sucks. Please don't do this. It's an option though, and I'd be remiss if I didn't mention it. It's barely better than just putting a website in a desktop runtime, and if you aren't careful you can end up making it a whole lot worse.
It's definitely possible to do, though. If you want to charge money for your application, I should hope you're building a minimal-compromise program.
I think it's a good thing that there are people who want to work to satisfy the desires of your niche as well as mine, so we can both be happy and productive.
(But VSCode's search functionality is annoying! Here Zas looks lovely ... But, Mac, so, no)
Shipping native platform binaries is the only reliable way to ship high quality software. Specially in 2022 with all the garbage floating around in virtual machines and "electron" bloatware.
Electron isn't the only game in the house.
I was replying about the "binaries" part. Binaries are always paltform specific.
The "only" part of "platform-only" - I can sympathize with. There are some tools I would like to try but I can't because they are windows only.
That said, it doesn't to me like any of the librarires/tools mentioned are good enough.
Qt is in C++ but from what I've heard its performance is abysmal - at least it's not good enough to justify writing something in Qt instead of html/js/css.
Xamarin I had to use one time and as far as I'm concerned, the DX is bad and the end result is also bad. Again, not good enough to justify using it instead of html/js/css.
Though to be honest it's been more than 5 years since I tried, so things might have changed since then ... but I really doubt it.