Both. CLJS is actually super fast, even on mobile (I test on lower power devices such as MOTO G4). The SPA is also pretty small if you keep dependencies out so it loads ~2-3s on a phone. That's with a large SPA with about 100+ React components.
Stack:
- It's CLJS with Datascript (huge DB), Rum and nothing else. That way I keep my js-file small (currently 170kb gzip'ed).
- Server side it's Pedestal, Cassandra, Datomic.
The tooling has always been leiningen and that's stayed consistent. Libraries are still the same on the client side. cljs.core + closure library gives you 90% of what you'd ever need. I don't use a single NPM library (Except React). I don't follow the latest fads in js-land anymore. IMO it's an ideal stack that is fast, small, stable and has much more features than anything in JS world. I don't need the latest and greatest transpiler (ES6, 8, 1000 or whatnot) since I can just use a macro that does this for me. Figwheel is incredible and should warrant anybody in the JS world to consider switching just for that... Productivity is amazing.
Stack:
- It's CLJS with Datascript (huge DB), Rum and nothing else. That way I keep my js-file small (currently 170kb gzip'ed).
- Server side it's Pedestal, Cassandra, Datomic.
The tooling has always been leiningen and that's stayed consistent. Libraries are still the same on the client side. cljs.core + closure library gives you 90% of what you'd ever need. I don't use a single NPM library (Except React). I don't follow the latest fads in js-land anymore. IMO it's an ideal stack that is fast, small, stable and has much more features than anything in JS world. I don't need the latest and greatest transpiler (ES6, 8, 1000 or whatnot) since I can just use a macro that does this for me. Figwheel is incredible and should warrant anybody in the JS world to consider switching just for that... Productivity is amazing.