Only reasonable way is shared core with thin UI layer on top. For Rust there is Crux, don’t know for other languages. Everything else is just compromise, like all Flutter apps I know on iOS are just atrocious.
I like this approach, it's what I had in mind, but Crux doesn't seem to support desktop targets. I know on MacOS you can get nice looking apps with their native toolkit, on Linux you have GTK4 which can be decent looking, but not amazing, and on Windows, I truly don't know. Native apps on Windows look crap to me (without even mentioning the advanced fragmentation in UI toolkits in Windows). Maybe someone has some good examples for Windows and Linux, using native SDKs.
Only partially true: macOS is supported, and one can fall back to the web. But you're right in that native Windows and Linux are still missing.
> Linux
Problem with Linux of course is that it's almost as fragmented as Windows, with Qt and GTK being the main toolkits, but a dozen more if you ask the wrong people :D
I personally don't like GTK, to me it (well, mainly Gnome) looks and feels like trying to copy macOS without understanding what makes it great, but Qt is a toolkit I can get behind…