I really highly recommend cljfx if you haven't tried it. It's a Clojure GUI library that works through javaFX. It's an absolute pleasure to work with. It's also designed in an extremely extendable - so can integrate with whichever state management systems you prefer (I have it working with Pathom).
JavaFX itself is pretty much "done". Maybe there are corner cases where it's lacking.. like displaying complex Math equations, drawing the full SVG spec, or making complex charts with UI elements. That said, there are plenty of Java libraries for some of these situations.
The main downside I've found is that my final bundled GUI apps are rather large binaries and they consume a ton of RAM (though I think it's the JVM reserving it mostly). They take a few seconds to launch, but then they're extremely snappy.
Supposedly you can shave the yak further with GraalVM but I haven't gone down that rabbit hole
Comments
I really highly recommend cljfx if you haven't tried it. It's a Clojure GUI library that works through javaFX. It's an absolute pleasure to work with. It's also designed in an extremely extendable - so can integrate with whichever state management systems you prefer (I have it working with Pathom).
JavaFX itself is pretty much "done". Maybe there are corner cases where it's lacking.. like displaying complex Math equations, drawing the full SVG spec, or making complex charts with UI elements. That said, there are plenty of Java libraries for some of these situations.
The main downside I've found is that my final bundled GUI apps are rather large binaries and they consume a ton of RAM (though I think it's the JVM reserving it mostly). They take a few seconds to launch, but then they're extremely snappy.
Supposedly you can shave the yak further with GraalVM but I haven't gone down that rabbit hole