ANN: Reagent 0.3.0 - now with async rendering

213 views
Skip to first unread message

Dan Holmsand

unread,
Feb 3, 2014, 9:24:25 AM2/3/14
to clojur...@googlegroups.com, clo...@googlegroups.com
Reagent, a minimalistic interface between React.js and ClojureScript, is now at 0.3.0.

The new release adds a couple of bugfixes, and async rendering. Read more here:

http://holmsand.github.io/reagent/news/reagent-is-async.html

The project page is here:

https://github.com/holmsand/reagent

Cheers,

/dan

ritchie turner

unread,
Feb 3, 2014, 8:04:09 PM2/3/14
to clojur...@googlegroups.com, clo...@googlegroups.com

Thanks Dan

My stuff still working as expected :)

R

ritchie turner

unread,
Feb 3, 2014, 10:53:12 PM2/3/14
to clojur...@googlegroups.com, clo...@googlegroups.com

Hi Dan

This is a long shot, but I do have some wierd stuff going on at the mount point and at the moment i can't trace it but maybe it's obvious to you , I have this

::before
<div id="tabs-mount">
::after

I have no idea where ::before and ::after come from. I'm using reagent exclusivly for all dynamic updates and I don't have that text in my pages. I didn't notice this the other night before I upgraded to 0.3. Due to the locality around the mount point maybe something to do with reagent?

I have my fingers crossed :)

R

Dan Holmsand

unread,
Feb 4, 2014, 2:30:16 AM2/4/14
to clojur...@googlegroups.com, clo...@googlegroups.com
I don't think that is from Reagent.

But maybe it comes from css? It does look a bit like a clearfix (or somesuch) css rule gone wrong.

/dan
> --
> Note that posts from new members are moderated - please be patient with your first post.
> ---
> You received this message because you are subscribed to a topic in the Google Groups "ClojureScript" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojurescript/tWHJg7xcnbg/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to clojurescrip...@googlegroups.com.
> To post to this group, send email to clojur...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.

Henrik Eneroth

unread,
Feb 4, 2014, 3:09:00 AM2/4/14
to clo...@googlegroups.com, clojur...@googlegroups.com
Cheers, Dan!


I'm doing experiments with both Reagent and Om at the moment, and I'm very excited about this way of rendering changes to a webpage. I particularly enjoy how easy it is to work with Reagent's API, and appreciate the time you are putting into this project. 

One of the major wins is how explicit I can be with where I put state. My current experimental design puts state squarely in two places only: an atom in the client, and the database (Datomic, for the time being). The server essentially behaves like a pure function only. I don't have time to enumerate all the benefits of this design as opposed to the mess I usually encounter, where state is stored absolutely everywhere.

Dan Holmsand

unread,
Feb 4, 2014, 6:42:03 AM2/4/14
to clojur...@googlegroups.com, clo...@googlegroups.com
Thanks, I enjoy writing it!

ClojureScript is such a delight to use (except, of course, when Closure's advanced compilation bites you where it hurts). :)

/dan

Dan Holmsand

unread,
Feb 4, 2014, 7:28:58 AM2/4/14
to clo...@googlegroups.com, clojur...@googlegroups.com
On Tuesday, February 4, 2014 11:24:16 AM UTC+1, Robin Heggelund Hansen wrote:
Gotta ask, what's the difference between Om and  Reagent?

Well, I'd say that the basic functionality of the two is quite similar: it's all about efficiently transforming some application state into a UI description (that is then turned into actual UI by React). 

The differences come at both ends of that transformation. Om is much more ambitious when it comes to managing that application state. It helps you to handle changing state (and tells you how to do that), whereas with Reagent you're pretty much on your own there. Reagent is just about rendering a UI, and leaves state management to you.

At the other end, the UI description in Reagent is a vector of vectors (with the same structure as in Hiccup), whereas Om uses React's javascript "fake DOM" elements more or less directly. Reagent on the other hand keeps the UI description as immutable data until it really has to tell React what to put out there.

Then there are obviously some differences in API, but I think that these are more superficial.

David might disagree strongly, of course :)

/dan

David Nolen

unread,
Feb 4, 2014, 8:38:00 AM2/4/14
to clojur...@googlegroups.com
I think that's a good summary :)

David


--
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 clojurescrip...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages