The first issue is addressed by templates. I maintain Reagent and Luminus templates and make sure that Cljs compiles correctly for both dev and prod targets.<p>While I understand author&#x27;s complaint regarding it being difficult to retrofit the template code into an existing project, I really don&#x27;t see a simple solution to that.<p>Standard behaviors can be extracted into plugins and libraries, but project specific configuration really does have to be part of the project.<p>The Figwheel REPL can be trivially connected to an IDE as seen [here](<a href="http:&#x2F;&#x2F;www.luminusweb.net&#x2F;docs&#x2F;clojurescript.md#clojurescript_with_nrepl" rel="nofollow">http:&#x2F;&#x2F;www.luminusweb.net&#x2F;docs&#x2F;clojurescript.md#clojurescrip...</a>). This should work with any editor the has nREPL support.<p>There&#x27;s really no good reason to use the built in REPL on the command line when you can connect the editor and send the code for evaluation directly from there.<p>In terms of client-server interaction I found that using cljs-ajax <a href="https:&#x2F;&#x2F;github.com&#x2F;JulianBirch&#x2F;cljs-ajax" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;JulianBirch&#x2F;cljs-ajax</a> on the client coupled with compojure-api <a href="https:&#x2F;&#x2F;github.com&#x2F;metosin&#x2F;compojure-api" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;metosin&#x2F;compojure-api</a> on the backend works really well.<p>With regards to Vim, it&#x27;s definitely not as popular as Emacs or Cursive for Clojure development, so it&#x27;s not surprising that the tooling around it would be more spotty.<p>I think this is one area where Clojure shines overall though, as there is support for it in majors IDEs and many popular editors. However, using something that&#x27;s popular with the community will obviously get you the best mileage.<p>Overall, I still find ClojureScript to be far more productive than anything I&#x27;ve used to develop on the front-end.