To what extent are the issues you are addressing with Om and state/cursors 
related to ORM-like problems? In a previous post:

https://groups.google.com/forum/#!topic/clojurescript/88u7kcomnUA

Here you mentioned that in Om you have a "database-like system + time 
model". That made me think about the nasty ORM issues with databases and 
how cursors could be thought of as falling into the same problem set. Maybe 
there is something that can be learned (avoided?!) in Om. The component <-> 
app state mapping(s) looks to be a fairly difficult problem.

You probably already have this figured out so I'm interested to see your 
solution. I'm especially interested to see how your solution will work with 
a large state/DOM model and being able to support "progressive reveal".

In our domain we have a very large data set that if fully rendered in the 
DOM would consume too much time/space. We have tried to solve this problem 
by only rendering those portions of the state into the DOM that are visible 
to the user so as to avoid doing work that won't ever be needed. We provide 
a means for the user to navigate into the data set and render only as much 
as is necessary but our solution is clunky...

It would be nice if Om is able to help us solve that problem. While we 
aren't using it yet, I have been experimenting with Om and am stumbling 
into the same state/data management questions as other have. In particular, 
there is the notion of application data (e.g. user profile) that represents 
the underlying data model for the domain (often stored on the server w/ 
portions cached on the client) and then there is the 
non-durable/temporary/non-shared client state that reflects the user's 
interaction and component view of that application data (e.g. the user has 
partially edited their profile's phone number.)

Maybe Om already does all that and I just don't "get it"... TBD.

BTW - thank you for all your hard work on Om.

Alan

On Thursday, April 24, 2014 10:03:37 AM UTC-7, David Nolen wrote:
>
> Om 0.6.1 significantly changes how component local state works - we now 
> rely on React's forceUpdate to update components that use local state. This 
> is a significant change so I would like people test this out on their 
> existing code bases as soon as possible.
>
> The immediate benefit is that components now use `=` for the 
> shouldComponentUpdate logic instead of `identical?`. This means 
> considerably more flexibility with regards to what a component may receive 
> without taking a performance hit with respect to rendering. Even more 
> importantly it's a big step towards independently addressable components.
>
> What are independently addressable components? Currently many people 
> struggle with the fact that parent components must take all the data 
> associated with their children. This often results in a tight coupling that 
> is not ideal for real applications. The next few releases of Om will be 
> focused on providing a sensible solution to this issue without backing away 
> from the existing efficient time travel capabilities.
>
> Feedback welcome!
>
> http://github.com/swannodette/om
>
> David
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to