FWIW, I'm working on this with Light Table, which removes a lot of the difficulties here - it will be include this script tag and you're ready to go. There's no reason that we need to jump through a bunch of hoops here. My plan is that the next release (sometime after strange loop) will include a nice way to work with CLJS such that a very nice getting started video could be created. :)
Cheers, Chris. On Tuesday, September 11, 2012 6:10:29 AM UTC-7, Chas Emerick wrote: > > On Sep 11, 2012, at 4:00 AM, Laurent PETIT wrote: > > 2012/9/10 Chas Emerick <ch...@cemerick.com <javascript:>> > >> I've been using a combination of lein-cljsbuild to keep the on-disk >> generated code fresh and piggieback[1] for all of my cljs REPL needs. >> > > Hello Chas, > > I've tried to use piggieback. My current stack for playing with the > concepts is leiningen2 on the command line (to start the server), with > clsjbuild to compile the browser_repl.cljs to "bootstrap" the REPL > machinery (lein cljsbuild once), regular "lein repl" once project.clj has > been configured with the proper options) and a regular CCW 0.10.0 nrepl > client. > > It works OK with the "out of the box" Rhino-backed evaluator, but as you > might guess, I have no interest in this and then I quickly jump to try & > get a Browser-based REPL running. > > That's where things broke. > I did not manage to get things compiled correctly. > > As it stands, it seems that I'll have to read & understand wiki pages from > ClojureScript project, nrepl documentation, piggieback documentation, > cljsbuild documentation, to really grasp the whole thing. > Seems a little bit daunting just to be able to "play" with it. Is there an > easier way ? A resource somewhere which already explains step-by-step how > to get started with a new project, cljsbuild for compiling from time to > time, and piggieback ? > > Just asking before starting digging :-) > > > There is a how-to in piggieback's README for using a browser-repl > environment rather than Rhino. Nelson Morris was actually the first one to > get that working, and I'm using it regularly, so it *does* work, though > there's no doubt there's a lot of pieces you need to put together (for my > part, I blew nearly an hour tearing my hair out before re-reading the > browser-repl tutorial,[1] and seeing near the bottom that loading the HTML > page from disk wouldn't work; once I served the page from localhost, > everything fell together). > > FWIW, I've found ClojureScript itself to be very solid so far; there are > some unfortunate (IMO unnecessary) incompatibilities between it and > Clojure, but [2] is the only thing I've really tripped up on from a > technical standpoint. > > I think your assessment that the learning curve is "daunting" is just > about right, but that largely lays with the state of tooling, and the > disjointed nature of the development process. With Clojure, you always > have a single environment (the JVM or CLR), into which you can load code > all day from nearly anywhere without having to think much about the > logistics of it. ClojureScript necessarily implies a more complicated > setup: there's your REPL environment, probably a browser, and maybe a > connection between the two; you *must* have your code on disk and in the > right place in order for Google Closure / lein-cljsbuild to get at it (not > strictly true, but driving the compiler from a Clojure REPL isn't any > easier outside of simple cases); your Ring webapp needs to be configured to > be serving the gclosure output; and, you'd obviously like to be able to > control and monitor all of this from your editor/environment of choice. > > (I'd like to eventually do a 'Starting ClojureScript' screencast similar > to [3], but the logistics of "going from zero to hero" with ClojureScript > are IMO far too hard and nuanced still in order to present them well in > that sort of medium.) > > I think the contrast is so stark in part because of how good we've had it > on the Clojure side. I suspect that CoffeeScript programming must be > similarly disjointed, since all the same moving pieces are necessary (and > perhaps without the benefit of upsides like a browser-connected REPL and so > on). Welcome to the wonderful world of modern web development! :-P > > I think that's all a long way of saying: start digging! > > Cheers, > > - Chas > > [1] > https://github.com/clojure/clojurescript/wiki/The-REPL-and-Evaluation-Environments > [2] http://dev.clojure.org/jira/browse/CLJS-358 > [3] http://cemerick.com/2012/05/02/starting-clojure/ > -- 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