Om-next for Reagent is more or less part of the collective goal of Posh 
(https://github.com/mpdairy/posh) and Datsync 
(https://github.com/metasoarous/datsync; disclaimer: I'm the author) as 
well.

Posh is DataScript `pull` and `q` queries as Reagent reactions, with clever 
mechanisms to prevent these reactions from updating unnecessarily (not 
perfect yet, but getting better and better). It's really lovely.

Datsync is a collection of utilities for replicating/syncing client 
DataScript databases with a central Datomic database. At the moment the 
only thing that's "easy" to do with it is full db replication without 
offline availability or optimistic update. Depending on the complexity of 
your scoping needs, partial replication may or may not be too difficult in 
simple cases given the current functionality. The next thing I'll be 
working on with it is a notion of remote subscriptions, which should make 
partial db syncing a lot easier, and open up some nice paths for more 
decentralized/P2P sync, as well as proper offline availability with 
conflict resolution. And eventually we'll get to adding utilities for 
read/write authorization filters.

This breakdown should eventually let you write Posh reactions to which you 
pass a `:remote true` option (similarly to Om-next) which uses Datsync to 
run the queries remotely and update the reactions on the client as 
transactions flow through the system. So parts of this will look a lot like 
om-next, except the pull expressions are decoupled from the components, 
which gives you greater flexibility in how you piece things together. And 
of course, you also get datalog queries via `q`, which is awesome and 
together with `pull` gives you a lot of expressive power (though you have 
to be careful with performance here in some situations).

However, all these things are still quite a bit newer than Om-next, and 
because it's a somewhat different approach, there are a lot of things to 
work out still, particularly as far as performance goes. Om-next has been 
really well thought out (kudos @swannodette!), and it's our goal to learn 
as much as we can from it.

Chris Small


On Tuesday, September 27, 2016 at 12:01:23 PM UTC-7, Tom wrote:
>
>
>
> On Thursday, January 21, 2016 at 11:56:41 PM UTC-3, petrus...@gmail.com 
> wrote:
>>
>> Any update on a GraphQL design for Reagent as of January 2016?
>
>
> We used the protocol, and only the protocol, from om.next with reagent 
> (and re-frame) and it works very well. We also use Datomic which really 
> helps as there's very little translation required between the om.next 
> protocol and a Datomic query.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Reagent-Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reagent-project+unsubscr...@googlegroups.com.
To post to this group, send email to reagent-project@googlegroups.com.
Visit this group at https://groups.google.com/group/reagent-project.
For more options, visit https://groups.google.com/d/optout.

Reply via email to