4 ms·
pySide6 has been a dream for me, it 'just works' and QT is quite robust. I am currently fucking with Java via GraalVM, and packaging my app for distribution ha
by pdntspa 3y ago
pySide6 has been a dream for me, it 'just works' and QT is quite robust.
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.
- Capricorn2481 3y agoI don't know anything about the QT on python as a runtime. Is it supposed to be just as fast since it's bindings to C++, or is it noticeably slower?
- pdntspa 3y agoI haven't done anything terribly performance-sensitive with it, but what I have written has performed extremely well. My app starts up to its main window instantly (which SHOULD be table stakes...)
- vips7L 3y ago> 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.
- mike_hearn 3y agoTry https://conveyor.hydraulic.dev/ https://conveyor.hydraulic.dev/, we replace or drive the whole deployment stack and have plenty of JVM using customers. It's a lot easier, try it out and see if it works for you. I should say though, that the support for native image is experimental.
- pdntspa 3y agoWhen I am ready to mark the github repo as public I was going to consider Conveyor, as paying money for it is a no-go right now (unemployed and broke rn)
- collaborative 3y agoNot sure if it suits your use case, but the best I have experienced is jDeploy
- pdntspa 3y agoInteresting... I like how it piggybacks off npm
- pregnenolone 3y ago>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) This happens when your jar is in the same folder as the working directory: https://stackoverflow.com/a/64743880 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?
- pdntspa 3y agoI am using Maven Getting the jar file is easy. But its deploying it that has been difficult