| I've used clojurescript commercially for a couple of years. It has been a good experience. More than anything it has completely changed my world view (and I'm a very experienced, older programmer who has seen a bit). I feel very lucky to have had this opportunity. IMO, some of the issues you raise are genuine, some not. For example, the JVM startup time issue is never, ever a problem. If it is, you aren't using the tools right. I use Cursive and figwheel etc, so I find the tooling generally fine and in many ways excellent. The trajectory in this area is good. Debugging initially can be rough. Knowing about things like cljs-devtools can dramatically improve things. But, yeah, valid point. And, yes, poor error messages can definitely be a problem initially -- although this has improved over the last year. To get going, I'd recommend you use this set of technologies: - use Cursive/InteliiJ https://cursiveclojure.com/ - use reagent, rather than om. http://reagent-project.github.io/ - use figwheel - use cljs-devtools with Canary for debugging - use Schema to provide faint typing - https://github.com/Prismatic/schema - perhaps use clairvoyant for debugging https://github.com/spellhouse/clairvoyant - use timbre for logging https://github.com/ptaoussanis/timbre - use re-frame https://github.com/Day8/re-frame (if the app is slightly more complex) <--- warning I'm biased - perhaps use re-com - https://github.com/Day8/re-com <--- warning I'm biased - you may also be interested in the head start provided by http://www.luminusweb.net/ for client/server - Perhaps just start here: https://github.com/Day8/re-frame-template and work out. (I'm biased) Good luck. |