I really really wish there was a good, straightforward desktop GUI for .Net that simply worked crossplatform and wasn't a complete pain in the ass to program.
I really really wish there was a good, straightforward desktop GUI for .Net that simply worked crossplatform and wasn't a complete pain in the ass to program.
I'd put my money on the competing "electron, but smarter" solutions that keep bubbling up, rather than any language-centric framework.
I hate hate hate it when a desktop app looks and acts like a web app.
I am currently fucking with Java via GraalVM, and packaging my app for distribution has been absolute hell:
jlink throws errors.
jpackage somehow gets stuck in an infinite loop that generates a directory tree of seemingly infinite depth (so deep that even Explorer can't delete it)
GraalVM native-image can't complete and throws all sorts of weird error messages
Trying to modularize the app has been hell too, it seems like every one of your dependencies needs to be modularized as well?
And like all I am using is Swing, FlatLaf, and MigLayout :(
How the hell are people getting apps running in a standalone environment?
I really like Java the language, but getting a desktop app running on it in 2023 is a nightmare.
This is honestly because you are taking the hard path and trying to do AOT compilation. Just use Swing with HotSpot. Native Image isn't meant for GUI applications and Swing internally uses a TON of reflection.
Using jlink and jpackage with HotSpot has been trivial in my experience.
This happens when your jar is in the same folder as the working directory: https://stackoverflow.com/a/64743880
>I really like Java the language, but getting a desktop app running on it in 2023 is a nightmare.
I think it's very easy. Do you use a build tool?
Getting the jar file is easy. But its deploying it that has been difficult
I've heard this "Microsoft has finally created a completely cross platform UI framework" like twenty times...
And that's assuming it even compiles or packages.
So far the only winner has been QT (via pyside6 for me)
Someone suggested switching the JVM to hotspot and using jlink/jpackage, I am going to give that a shot
On graalvm 20 I even got it to compile, but there were issues drawing/loading swing components