First, I want to point out that I am NOT knocking Reagent at all.  I have used 
it for months now and I like the library and have been a very vocal proponent 
of it on this group and elsewhere.  For many if not most apps, it's all you 
will ever need.

That being said, there are 2 challenges I am facing on this project that Rum 
seems to be a better fit for.  Not that I wasn't "making do" with Reagent, but 
Rum seems to provide some advantages for my use case, enough so that I was 
willing to take on the risk of switching to it mid-project.

First, I really need Datascript.  We are using Firebase for the back end, and 
although it provides numerous advantages, one disadvantage is that for 
performance to be acceptable, your data has to be highly de-normalized.  This 
presents some challenges with coordinating queries and updates, and Datascript 
really helps me to model data in a sane way for my app to consume.  And as I 
pointed out earlier, it is much easier to integrate Datascript with Rum.

Second, I want leverage in the form of a more data-driven approach to the UI.  
I have completed about 20% of the functionality for this project, addressing 
the most critical needs of the customer.  I have been working on building a 
data model over the current functionality so that the rest of the app can be 
data driven, and Rum looks really promising in this area.

Not that I couldn't do this in Reagent - it's definitely possible to 
dynamically build components by composing lifecycle functions and building a 
map to pass to reagent/create-class.  But in Rum there is a well-defined API 
for doing this, and in fact the entire library is built on the same 
abstractions you use when creating your own mix-ins.  This seems to me like a 
more solid foundation on which to build my abstractions.

On Sunday, January 11, 2015 at 10:41:15 AM UTC-6, Matt Ho wrote:
> Could you describe some of these cases where the Reagent model isn't 
> expressive enough?  I'm having a hard time understanding the use case.
> 
> Thanks!
> 
> M

-- 
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