|
|
|
|
|
by d_t_w
1474 days ago
|
|
We build a product in Clojure that runs on the JVM and in the browser (https://kpow.io). Clojure/Clojurescript gives us a language/toolset that works in both the front and back ends. In some cases we have we have code in a single source file (.cljc) that works in both the browser and on the JVM with no modification. The feature that cross-environment functionality implements in a single source file is complex in some cases (e.g. a grammar / parser / interpreter for a subset of JQ). Both the front and back end use the same core functions and same datastructures to implement the product. Data is moved between front/back via Transit (and encoding format for Clojure datastructures). In my experience the reduction in complexity through the stack is staggering. Once you've learned Clojure that is.. |
|
Hence why I only play with them to learn about new concepts, but always go back to what gets delived in the box for production code.