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

Reply via email to