Replicative lets you distribute state, so any time you'd like a distributed 
system to be able to share state, this is something you could consider to 
do that. In particular, every web application is a distributed system, so 
it's something you could use any time you wanted eventually consistent 
state between server(s) and clients. So the real question is what shared 
state offers.

If you're not doing shared state, you're probably doing something where you 
send messages through some remote transactor that (ideally) ensures 
consistency of the system. But that means two things:

* You can't be working offline (at least, not without a lot of work that 
starts to look like ad-hoc distributed state)
* If you want optimistic UI updates (good for responsiveness & UX), you 
have to figure out how to undo UI updates if those transactions fail

Replicative solves both of these problems. You can work offline on your 
copy of the data, and then when you're able to reconnect, it does a "merge" 
(analogous to a git merge). Ideally, the merge is clean and the remotes get 
copies of the work you did, and everyone is happy. But, if there are any 
kind of conflicting changes that need to be merged, you have to go through 
history conflict resolution process, again, quite like you would have to in 
git.

So in very broad strokes, replicative is sort of like auto-synced git for 
application data.

Chris



On Thursday, January 21, 2016 at 9:00:28 PM UTC-8, Teemu Kaukoranta wrote:
>
> Thank you, this looks immensely interesting! I'm still having trouble 
> understanding when exactly one should use replikativ; are you saying it 
> will make it easier to build offline applications? 
>
> There's two things that make this difficult to understand: its academic 
> nature, and the fact that many of us are just so used to the central server 
> that it's hard to imagine anything else. 

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