2 ms·
re-frame has a beautiful introduction that made the concepts crystal clear to me as someone who never used a state-management framework before: https://day8.git
by phforms 3y ago
re-frame has a beautiful introduction that made the concepts crystal clear to me as someone who never used a state-management framework before: https://day8.github.io/re-frame/re-frame/ https://day8.github.io/re-frame/re-frame/
The API documentation lists the most commonly and rarely used parts before going into detail and there are many usage examples.
Reagent has a nice intro tutorial (classic todo-app): http://reagent-project.github.io http://reagent-project.github.io and many other helpful tutorials and resources for beginners: https://cljdoc.org/d/reagent/reagent/1.2.0/doc/documentation-index https://cljdoc.org/d/reagent/reagent/1.2.0/doc/documentation...
However, since Reagent is still stuck with class-components for more complex behavior and relies on Hiccup, which is nice but has a performance cost compared to pure React, I am unsure about its future. Like some others in the Clojure community, I have moved to thin React wrappers like Helix and use Refx to integrate those with re-frame. It may be a bit confusing right now for beginners since there is no “golden path”.
Also, unfortunately, many smaller libraries are poorly documented and it seems like it is expected from the developer to dig into the source code to find out what’s going on.
What I found the most difficult as a beginner was how to setup a project in ClojureScript in the first place, like all the configuration in shadow-cljs, how it interacts with deps.edn, how it integrates with npm, the REPL, etc. But dev/build config has always been a weak spot for me, so it might be just that.
Overall, I still very much enjoy working with Clojure(Script), more than in any other language. Anyone who likes Lisps and functional programming should give it a try (and be sure to watch Rich Hickeys amazing talks!).
- SirensOfTitan 3y agoCheck out uix too: https://github.com/pitch-io/uix https://github.com/pitch-io/uix …it’s a reagent alternative for modern react.