I'll let others speak to your other points. But if :none is taking more
than hundreds of milliseconds something is wrong with your build settings.

On Friday, December 19, 2014, Arnaud Bailly <[email protected]> wrote:

> Hello,
> I have been developing with Om and clojurescript for a few months now, and
> I do feel I am missing something to get as productive as I am when working
> with Haskell (or java for that matter).
>
> I would appreciate some advices or pointers resources from more
> experienced people on how to get to the point where I can develop
> confidently, easily and with decent speed in clojurescript.
>
> Here are my main concerns and some experiences I can share to give more
> context:
>  - compiler is slow: I have setup cljsbuild profile to use advanced
> optimisation which heavily slows down compiler. Even simple optimisation is
> rather slow. No optimisation is rather fast, but not that fast (several
> seconds...). Note that I "often" have to remove generated compiled file and
> target/ dir to get usable result when doing advanced optimisation,
> otherwise I got seemingly unrelated runtime errors in the UI
>  - compiler is not very helpful in catching errors: Error messages are ok,
> at least better than default clojure and its sometimes huge stack trace (or
> is it something from cljsbuild?), but of course not having types means
> fewer errors got caught... This is not an issue when one has the fast
> feedback of the REPL but large compilation time makes it really unwieldy.
>   This is particularly annoying in Om because it requires state to be
> stored in an atom which in some contexts can be manipulated directly and in
> some others need to be dereferenced... And it is very easy, at least for
> me, to forget/add an @
>  - unit tests are hard: code is mostly Om/react DOM building and ajax
> requests, so pure unit testing is not really useful or would need too much
> mocking. There seems to be a testing framework for React but I could not
> really figure how to use it given react is actually encapsulated under
> Om... I tried to write unit tests manipulating DOM elements but got stuck
> on how to simulate a change event. My JS-fu is probably lacking here but
> although I was able to synthesize a click, it was not possible for a
> change.
>  - I resorted to selenium tests, but of course those are fragile and slow
> and I would like to avoid having to fire a server for testing part of
> client application
>  - I tried to LightTable, but not being able to use repl/instarepl means I
> am left with a text editor less powerful than emacs. I user LightTable with
> clojure code and found it really nice so I would like to be able to use for
> clojurescript too.
>
> As I said, I have been coding for a living mostly in statically (or not so
> statically) typed  languages (Java, Haskell), but I have been using clojure
> for side projects in the last few years and I really enjoy coding in
> clojure. So when I discovered Om I was really enthusiastic about its
> capabilities and the way it expanded my horizon to make programming in the
> browser a more pleasing experience.
>
> But my coding flow is not satisfying, it takes a long time to iterate so I
> tend to do larger steps which creates bigger mistakes which take a long
> time to track... And I positively hate using a debugged, especially with
> optimised clojurescript compiled code :-)
>
> So this post is really not a rant at all, I just got the feeling I am not
> doing things the right way and would like to be enlightened by people more
> knowledgeable than me.
>
> Thanks in advance,
>
> --
> Arnaud Bailly
>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <javascript:_e(%7B%7D,'cvml','clojurescript%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to