

Reagent 0.5.0 – Minimalistic ClojureScript interface to React.js - escherize
https://github.com/reagent-project/reagent

======
idibidiart
1st Meetup for Reagent if you're in SF/Bay Area come join us on Monday!

[http://www.meetup.com/Reagent-Minimalistic-React-for-
Clojure...](http://www.meetup.com/Reagent-Minimalistic-React-for-
ClojureScript/)

See you there!

~~~
henballs
See ya :)

------
mattdeboard
How does it compare to Om?

edit: Found this write-up
[http://getprismatic.com/story/1405451329953](http://getprismatic.com/story/1405451329953)

~~~
astine
The biggest difference is that, unlike Om, Reagent does not require you to
reify an interface to define a component. Instead, components are defined with
functions which return a hiccup-like datastructure. If you need access to
React's other lifecycle methods, you can provide metadata, but in general, you
don't need to bother. Personally, I find this easier to reason about.

The other major change is that state is managed through a special, customized,
reactive atom. Everytime the atom is updated, any components which use it are
updated. You can have as many of these atoms as you want and you can use them
from as many components as you want.

~~~
bkurtz13
Take a look at Prismatic's om-tools(1).

It adds a defcomponent macro that removes a lot of boilerplate.

1)[https://github.com/Prismatic/om-tools](https://github.com/Prismatic/om-
tools)

~~~
astine
I actually used om-tools before I switched to reagent. Om-tools does cut out a
lot of boilerplate, but I like reagent's approach more from the outset. One
thing I found confusing about Om with or without om-tools, was how to manage
communication between the components. The tutorials used a lot of core.async
to manage that but it was clearly unnecessary.

In Reagent you can pass arbitrary parameters to component functions. You don't
have to make each component correspond to a branch on your applications
state's tree. You can, and you can use a cursor analog if you want to, but you
don't have to and I found that very freeing.

------
escherize
I've found reagent's simplicity very appealing. If you check the github.io
page for it ([http://reagent-project.github.io/](http://reagent-
project.github.io/)), you can see some short and sweet examples.

------
moomin
Dmitri, who runs the Reagent project, is the single most responsive OSS
maintainer I've ever worked with. I highly recommend the experience.

~~~
idibidiart
Dan Holmsand is the man behind Reagent. I believe Dimitri maintains the
overall Reagent Project? Still getting to know who's who :)

~~~
moomin
You're right, I hadn't actually paid enough attention. He's responsible for
the overall project (and Luminus, obviously) but doesn't actually do that much
with core reagent. (Which isn't to say he isn't extremely active...)

------
elementai
Actual Changelog [https://github.com/reagent-
project/reagent/blob/master/CHANG...](https://github.com/reagent-
project/reagent/blob/master/CHANGELOG.md)

