3 ms·
Well, off the top of my head: * a single language for both client-side (browser) code and server-side code * a single data representation (maps with namespace
by jwr 6y ago
Well, off the top of my head:
* a single language for both client-side (browser) code and server-side code
* a single data representation (maps with namespace-qualified keys), so no conversions necessary
* spec which helps validate data in multiple places (such as :pre/:post conditions)
* core.async which lets me write asynchronous code both in the JVM and in the browser, same primitives
* a library of excellent sequence manipulation functions
* transducers, which let me build composable data pipelines
* the Rum library which lets me use React as a rendering engine, basically a function of my data
* most of my domain code is shared between the browser and the server
There is more, but these were what I could come up with immediately.
I mostly spend time thinking and working on the problem domain, not writing boilerplate (there is none in Clojure, really).
- GiorgioG 6y agoThat sounds pretty great. Thanks!
- d_t_w 6y agoI think we might be clones. My self-funded business (https://operatr.io https://operatr.io) is built in Clj/Cljs. From the product, to the static website, marketing emails, even the licensing runs Cljs on Node in AWS Lambda. I would have listed those same bullet points off the top of my head.