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.