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.