It sounds like Reafent naturally encourages this model while with Om
there's a tendency to put everything into one atom - until you learn
through experience at least!
On 13 Sep 2014 15:32, "Dmitri Sotnikov" <[email protected]> wrote:

> That sounds very similar to the Reagent model then. I found that it was
> the natural approach there, since creating local component states is
> straight forward and it makes them readily reusable. This simply wasn't
> clear to me when I tried using Om and I found that the additional
> complexity that Om introduced was completely incidental to the applications
> I was writing.
>
> On Saturday, September 13, 2014 6:32:58 AM UTC-4, Daniel Kersten wrote:
> > Dmitri, I would say that all of the donain data - that is, data that you
> might persist in a database - should be stored in the app state atom, but
> all temporary data about how to display the domain data (what page are you
> on, what tab is visible, is the button pressed, how much of a list is being
> shown, etc etc) should be in component local state.
> >
> > From what I've read, this is also how Facebook do things with their flux
> architecture.
> >
> > I started writing Om by storing everything in the one atom (I think the
> natural tendency is to do that) but I think you quickly realise that it's
> unwieldy (as you and others have asserted). Because it is! Then you
> transition to a model where the data you are operating on is separated from
> the incidental data and everything becomes much nicer and easier.
> >
> > On 12 Sep 2014 21:02, "Dmitri Sotnikov" <[email protected]> wrote:
> > This might simply be my own lack of familiarity with the Om workflow.
> The impression I got was that most state should live in a global atom that
> you create cursors into and communication between components should happen
> using core.async channels.
> >
> >
> >
> > On Friday, September 12, 2014 12:11:09 PM UTC-4, Jamie Orchard-Hays
> wrote:
> >
> > > I'm pondering the implications of your comments, Dmitri. In Om, I have
> a single atom for my application data, but I have another atom that holds
> static data I pull from the server, for example lists for drop-down select
> lists. WRT local state, each Om component can have its own local state
> completely separate from the app data.
> >
> > >
> >
> > >
> >
> > >
> >
> > >
> >
> > >
> >
> > > On Sep 11, 2014, at 4:31 PM, Dmitri Sotnikov  wrote:
> >
> > >
> >
> > >
> >
> > >
> >
> > > > So, good news is that Sean just submitted a patch for Reagent
> cursors a few days ago. Hopefully, that will make it into the next release.
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > In terms of performance I would actually expect Reagent to behave
> better than Om since it doesn't force everything into a single state atom.
> Reagent allows easily creating local states and that makes it much easier
> to control what nodes need to be recalculated.
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > If I understand it correctly, the worst case for Reagent where you
> use a single state atom for everything is the normal case for Om.
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > On Thursday, September 11, 2014 2:34:25 PM UTC-4, Sean Grove wrote:
> >
> > >
> >
> > > >> Bit of a sidenote, but now that the libraries are getting more
> mature, It'd be great to see some complex-ish apps (say, Omchaya-size or
> larger, but maybe even CircleCI's frontend
> https://github.com/circleci/frontend) for a side-by-side comparison +
> speed benchmarks, to get a sense of the tradeoffs as apps scale out. I'm
> personally curious about whether Reagent's ease of use comes with a cost at
> some point.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >> On Thu, Sep 11, 2014 at 8:01 AM, Jamie Orchard-Hays <
> [email protected]> wrote:
> >
> > >
> >
> > > >> On my project, I was using data in the form of a recursive tree--an
> editable one. I got stuck somewhere WRT to this in Reagent. (I wrote a
> question to the original developer, but he never replied.) For my purposes,
> Om's cursors made handling data updates trivial, so it was a big win.
> However, I'm sure I've put a lot more man hours in the UI development with
> Om than I would have with Reagent.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >> So in the end, the fact that I had a recursive tree of data to work
> with gave Om the edge, otherwise I would have used Reagent.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >> I also had a look at Quiescent, but it was too thin a layer over
> React for what I'm doing.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >> Ideally, we'd have Reagent's UI simplicity combined with Om's
> wonderful app data handling.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >> Jamie
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >> On Sep 10, 2014, at 10:11 PM, Dmitri Sotnikov <[email protected]>
> wrote:
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>> I actually found Reagent's data handling to be very flexible. It'
> makes it easy to create local states for components as well as managing the
> global state using a global state atom. I'd be curious to hear what
> limitations others have run into and how they could be addressed.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>> On Wednesday, September 10, 2014 11:40:13 AM UTC-4, Jamie
> Orchard-Hays wrote:
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> I'm curious as well. I started with Reagent, but switched to
> Om/Sablono after finding Reagent's app data handling too limited for what I
> needed. The trade-off is much more to think about (complexity) when writing
> Om components.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> Jamie
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> On Sep 9, 2014, at 3:51 AM, Daniel Kersten <[email protected]>
> wrote:
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> My apologies for an off topic post in this thread - we can take
> it off list or to a separate thread if it needs more than a simple reply -
> especially since the library looks really good!
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> Sean could you write a little about why you switched away from Om?
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> I'm just trying to get a better understanding of what pros and
> cons Om and Reagent have and why Reagent is a better fit for your specific
> use case.  I've seen a few people switching lately so I'm interested in
> hearing people's thoughts.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> On 9 Sep 2014 01:01, "Sean Corfield" <[email protected]> wrote:
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> That looks great Dmitri! We've just made the switch from
> Om/Sablono to Reagent so this will be very handy for us I expect.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> Sean
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> On Sep 8, 2014, at 3:05 PM, Dmitri Sotnikov <[email protected]>
> wrote:
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>> The goal of the library is to automate the process of binding
> form elements to a document represented by a map in a Reagent atom.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>> https://github.com/yogthos/reagent-forms
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>> Feedback and contributions are welcome. :)
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> --
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>> 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.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>> --
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>> 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.
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >> --
> >
> > >
> >
> > > >>
> >
> > >
> >
> > > >> 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.
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > --
> >
> > >
> >
> > > > 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.
> >
> >
> >
> > --
> >
> > 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.
>
> --
> 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.
>

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

Reply via email to