Fork me on GitHub
#off-topic
<
2018-08-12
>
benzap01:08:26

So I was wondering what people thought of the GUI ecosystem in Java

benzap01:08:00

so far, it seems like https://github.com/daveray/seesaw is the standard way to make guis in clojure

benzap01:08:23

It got me wondering why people aren't using JavaFX, there was a pretty good discussion in #clojure about it

benzap01:08:06

I would also like to note that I grew interested in native-compilation of swing / JavaFX using GraalVM, and asked the devs about support for these

benzap01:08:16

apparently it isn't possible yet, but it's on their bucket-list

emccue01:08:38

the biggest problem with javafx is that it requires an AOT component

emccue01:08:49

which is an issue with clojure development

benzap01:08:21

Yeah, that sounds like a huge issue

☝️ 4
soulflyer01:08:19

I spent a fair bit of time looking for a good way to do a clojure gui and seesaw worked for a while. I used it for an earlier version of my current project. As it developed though it became apparent that I was going to have to do some fairly serious hacking to get the more subtle features I wanted. I can't remember precisely which feature it was that swung it, but I came to the conclusion that the best way forward was to re-write as a client/server with clojure/luminus providing the back end and clojurescript/re-com/re-frame/electron providing the gui. I don't regret the switch.

💯 4
☝️ 4
👍 4
emccue01:08:01

sounds like its time to look at fx-clj and see the core what that does to make clojure dev work

emccue01:08:27

I feel like someone needs to write up and publish a whole book called "Get out of my fucking life JavaScript"

😂 24
soulflyer01:08:02

"Web Development with Clojure" seems like a pretty good stab at that 🙂

jjttjj01:08:25

There's also https://github.com/halgari/fn-fx, also in an unmaintained state

jjttjj01:08:03

personaly I've also always ended up just wanting JS/html features and doing the webclient/server setup or electron

4
jjttjj01:08:04

it might be partially due to never fully learning swing/JavaFX and it's getting increasingly hard for me to justify the learning curve as their popularity decliens

hubert01:08:28

How about Groovy and Griffon http://griffon-framework.org/ ?

lilactown01:08:51

I feel like if someone made an honest-to-god GUI toolkit/framework for clojure I’d pay them money

4
emccue01:08:12

i feel like the fact that javafx requires a wrapper to use is a failure of clojure's interop

emccue01:08:32

swing is perfectly useable from base clojure even without the wrapper

emccue01:08:42

its just that swing isn't the best library

lilactown01:08:08

is it Clojure’s fault, or JavaFX’s fault? 😛

emccue01:08:19

to me the promise of clojure is taming the uncontrolled a**m of the java ecosystem

emccue01:08:47

so both, but I dunno

emccue01:08:00

im just in a ranty mood i havent done nearly enough research

soulflyer02:08:36

I thought I was good at sweary words, but a**m has me stumped....

3Jane10:08:19

armageddom? 😉

🙂 4
eggsyntax22:08:08

Ha! Me too. “assgasm”?

eggsyntax22:08:50

“aneurysm”?

emccue22:08:50

autism

😜 4
emccue22:08:04

come on guys

henrik04:08:51

How come Vertx is suddenly topping many charts in https://www.techempower.com/benchmarks ?

henrik04:08:10

Granted, it’s been years since I had a look at it last.

tbaldridge13:08:14

Most of these benchmarks are utterly meaningless. “Real work” involves things like serializing payloads, contacting DBs, and calling internal REST services, and the timings there will utterly dominate any performance gains from using a “fast” framework.

☝️ 32
👍 4
tbaldridge13:08:32

Come to think of it, I don’t think I’ve ever debugged a performance problem and discovered it was the fault of the web framework.

tbaldridge13:08:14

So it’s probably that Vert.X found some small improvement that allows them to game the benchmark a bit.

schmee19:08:00

does anyone have a Clojure Slack theme handy?

seancorfield20:08:31

@schmee Yeah, just a sec...

schmee08:08:03

thanks! 😄

seancorfield20:08:56

#FFFFFF,#90B4FE,#E4EAF7,#4C5770,#C4C4C4,#272727,#91DC47,#63B132