2012/9/11 Chas Emerick <c...@cemerick.com>

> On Sep 11, 2012, at 4:00 AM, Laurent PETIT wrote:
>
> 2012/9/10 Chas Emerick <c...@cemerick.com>
>
>> 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.
>

Yeah, I read it. During my first trial with ClojureScript yesterday, I
assumed following piggieback's README would be sufficient. I was wrong,
there is more to it :-)


> 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,
>

I'm ok with that, as long as its the only way to go right now. I would not
have missed something, that's why I asked.


> 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!
>


I will. One of my goals for Counterclockwise, right now, is to even better
integrate it with Leiningen2. But I'd like also to know more about
ClojureScript dev workflow, since in the end the integration with Leiningen
2 is just a means towards an end. ClojureScript in Counterclockwise being
an important part of this end.

Cheers,

-- 
Laurent

-- 
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