
Ember.js Persistence Foundation - pie
http://epf.io/
======
xtrumanx
> Epf is essentially an ORM for the web and gives you all the tools necessary
> to define models and synchronize with your backend.

That line should be on the front page of that website. I've spent too much
time trying to decipher the bizarre diagram and trying to figure out whether
it was an inside joke I wasn't getting or an actual thing.

~~~
fayimora
THIS! That diagram is just ...

~~~
bsaul
Don't want to show off, but it seemed quite readable to me, once you notice
that the arrows have numbers..

It shows many interesting details (the only API command seems to be Patch.
There are two sync phases on the client, one to determine what to send to the
server, one to determine what to merge upon server response). I quite like
diagrams :))

~~~
wahnfrieden
What do the numbers represent?

~~~
jcoder
Lifecycle of data as it changes, apparently.

------
kanja
This is super cool - What method is used for continued client side updates?
Websockets, polling?

~~~
pie
The readme says it works with any "persistent backend such as a REST API or
socket connection".

It looks like it tries to be backend-agnostic, and do the sync work on the
client side.

~~~
kanja
I'm assuming - and this could be a bad assumption - but based on the
continuing updates architecture, if client a changes model a, client b will
see an update on model a. How does client b get notified of the change? Does
it have some kind of fallback system ala socket.io? Is this not yet part of
the project?

~~~
randall
Backbone took a REST opinion, I imagine if you want something like you
describe, they (or someone) will implement something like backbone.io.

[https://github.com/scttnlsn/backbone.io](https://github.com/scttnlsn/backbone.io)

------
seivan
Now if this works, which Ember-data doesn't (not finished I guess). This is a
bigger step towards using Ember,

~~~
bwilliams
I've been using Ember-data for the past few months on side projects and it's
getting a lot more stable. I've rarely had issues with it in the past few
weeks.

~~~
bsaul
"weeks" ?? Damn... I remember when I had to choose between angularJs and other
JS frameworks a few months ago. Reading your comment makes me feel really good
with my choice.

~~~
bwilliams
I've played around with Angular quite a bit lately as well and I definitely
prefer Ember. You should really try both of them out and give them both a fair
chance.

Also, you don't have to use data with Ember, it's just a benefit.

------
gazarsgo
Is this supposed to be a framework for collaborative editing and
synchronization? I would expect a lot more examples around merge conflicts and
locking if so. "Models are never locked" make this sound like it is just an
abstraction for abstraction's sake, why would I use this instead of just
binding DOM elements to JSON?

~~~
nicholaides
It's made to be a generic ODM/ORM for use on the client side with Ember.js.
It's a replacement for Ember Data, which has a ton of bugs and limitations.

