On Saturday, January 31, 2015 at 12:57:56 PM UTC-8, Mike Haney wrote:
> I'm not really interested in their specific implementation, but the overall 
> approach is interesting.  I'm not interested in using GraphQL - we already 
> have good options for describing the shape of our data, like Herbert and 
> Schema.  If you use Datomic, there's even the option to build your queries 
> dynamically on the client.

Indeed, GraphQL looks extremely similar to the Datomic Pull API, AND the 
concept of a central store mediating queries and caching data is extremely 
similar to how the Datomic Peer works.

I'm reasonably sure this is conceptually close to "build a Datomic peer in the 
CLJS" end, although the FB folks appear to still be trying to work with a 
mutable state model of the world.

There seems like there should be an end-to-end solution in here that would look 
like:

- Om components need to make queries to get the data they need, preferably 
against a consistent, immutable Db-as-value
- Async querying is the common case, rather than block a thread, have a more 
intentional temp/render spinner model.
- There's a live data peer in the CLJS that can service queries, cache 
immutable data, and mediate even-more-async-than-normal transactions against a 
remote data store.

I think the CLJ/S community is still on top of / ahead of some of the ideas in 
Flux/Relay, though they're converging, which seems positive.


On Friday, January 30, 2015 at 6:32:16 PM UTC-8, David Nolen wrote:
> There doesn't need to be a ClojureScript answer to Flux. Flux is just one 
> possible design. This was common point expressed at the conference.

Indeed in evaluating Flux over the past few weeks we have had a hard time 
reconciling Flux's stores (multiple event-loop-listening pieces of 
object-oriented mutable state) with something that works out cleanly in CLJS.  
You can do it by `om/observe`ing multiple atoms that are being mutated by 
`go-loop`s listening on channels, but it's not Simple.  What's interesting is 
it looks like even Relay is backing away from Flux's multiple stores, back down 
to a central store.

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