The main idea is that I wanted to hack my own component’s behaviors, but both 
Om, Reagent and even Quiescent came with something built-in, and change that 
was impossible without rewriting internals.

So what I ended up doing is a very thin wrapper and a couple of convenient 
functions for work with React in CLJS. Main difference is that contract on 
custom component building (mixins) is also considered to be part of API in Rum.

So Rum is in some sense more low-level because it doesn’t sell you one true 
component model. Benefit of that is that it’s more customizable, integration 
with third-party models is simpler (you use storage/model you want and write 
component to support that, unlike other solutions which dictate how to store 
app state), and you can mix different kinds of components in one app.

Rum comes with already-built types of components which emulate behavior found 
in Quiescent, Reagent and Quiescent. They were built using the same public API 
any Rum user can use. No internals hacking. I think it means abstraction is 
good enough and decomplection was made in the right place. I’m also very proud 
they take, like, 10-30 lines of code each.

-- 
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 clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to