Hi Miguel, When I started clojure and web development I faced the same questions for some long time. Also it took me a lot to figure out how to have the best developer experience (regarding web stuff). All my findings boil down into this leiningen template: https://github.com/sveri/closp
It delivers * two different environments (development and production) * figwheel for clojurescript during development (no need to restart) * a combination of components and ring dev environment for not having to restart the JVM While figwheel delivers everything needed for cljs side it was not so easy for clojure development. The trickiest part was to make the reloading of namespaces work in a web environment, I tried several libraries, but none gave the full experience. So I chose to integrate Stuart Sierras component library. This wayI finally gained hot code deployment where it works, templates reloading (selmer templates) and a manual restarting option, which I only need when I change compojure routes. Manual restart does not mean to restart the server, but running a "restart" function which will just reload all changed namespace and pick up changed routes. You might want to try it out or just look at this namespace: https://github.com/sveri/closp/tree/master/resources/leiningen/new/closp/clj/components plus https://github.com/sveri/closp/blob/master/resources/leiningen/new/closp/clj/user.clj I do all this using a command line for fighweel and cursive with a repl started inside cursive for the server environment. Best Regards, Sven PS: It might be that the template does not compile currently, if so, you just have to adopt the namespace that the compiler complains about. I will fix that in the next version. Am Montag, 5. Oktober 2015 12:00:37 UTC+2 schrieb Miguel Ping: > > Hi Guys, > > I've been doing some personal clj for a while, but I never quite grokked > the whole REPL thing. I normally use Lighttable and/or Cursive as editors, > I can set up breakpoints and debug the code, but for web I'd like to know > how seasoned developers work. > AFAIK people fire up the repl and "do everything from there" but I still > don't understand some parts: > > - do you code functions in the repl and copy them to respective files? > - do you edit files directly and hook them into the repl? > - how do you set breakpoints? > - can you do hot-replacement easily? I always see a bunch of stack traces > while using lein and ring with reload flags > - is there an article or screencast explaining the "feel" of this? > > My current worfklow is just starting > lein ring server and developing, > but my general impression is that I need to restart it sometimes. > > As I understand it, the repl workflow is very much a lisp thing. > Thanks! > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.