Disclaimer: I've worked on CircleCI's frontend, but only since recently. I did not have a hand in it's original design. Overall, I'm pretty happy with it and Om, but I'd definitely change many things if I could. That's pretty standard high-praise for any software project, as far as I'm concerned.
> Doesn’t this defeat the whole purpose of using Om? That depends on what you consider the "purpose of using Om" to be. Ignoring cursors, it's a pretty minimal React.js wrapper. David has gone out of his way to make sure Om doesn't get in your way, if all you want to do is get at the underlying React.js without fiddling with createClass and the like. From this perspective, Om is merely an adapter library. > By not taking advantage of cursors, could they have accomplished the same > level of component modularity by using Reagent with a single atom? Cursors don't really provide a great deal of modularity or encapsulation. They force you in to a hierarchical decomposition of application state, which is less than ideal if your data model doesn't 1-to-1 match your user interface. I didn't understand the design or motivation for Cursors when David first launched Om. And even after several chats about it, he and I still disagree about their worth and the ideal structuring of a frontend app. Hopefully between us and any of a dozen of other tinkerers in this space (including Reagent's developers and users), we'll make some progress on the UI frontier yet. > Curious if Om offers any other benefits that I’m not aware of. CircleCI's Daniel Woelfel and I have written about the benefits we get from Om's aspect-oriented functionality: https://dwwoelfel.github.io/instrumenting-om-components.html http://blog.circleci.com/local-state-global-concerns/ React.js doesn't provide global hooks out of the box, so having Om between us and React makes these things much easier. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
