As someone who’s only dabbled in Clojure, ClojureScript’s tooling seems like a mess to me. There seems to be 3 ways to do anything, especially when it relates to consuming external libraries. I’ve avoided it but would love things to be made clearer.
I used to be CTO of a cljs-based video startup. We were lucky in that most of what we did was custom software-defined networking, so we didn’t have to worry too much about library compatibility, but even still, interop with the wider Js ecosystem was always a pain.
I’m by no means a Hickey fan, but iiuc, Google Closure was one of the few serious bundler alternatives at the time cljs was made. (Maybe Rollup existed?)
Still, I can see the point in making a cljs 2; the community effectively switched to shadow-cljs over the officially-recommended build process just to ease the Closure-induced pains of interop.
As someone who’s only dabbled in Clojure, ClojureScript’s tooling seems like a mess to me. There seems to be 3 ways to do anything, especially when it relates to consuming external libraries. I’ve avoided it but would love things to be made clearer.
I used to be CTO of a cljs-based video startup. We were lucky in that most of what we did was custom software-defined networking, so we didn’t have to worry too much about library compatibility, but even still, interop with the wider Js ecosystem was always a pain.
I’m by no means a Hickey fan, but iiuc, Google Closure was one of the few serious bundler alternatives at the time cljs was made. (Maybe Rollup existed?)
Still, I can see the point in making a cljs 2; the community effectively switched to shadow-cljs over the officially-recommended build process just to ease the Closure-induced pains of interop.