4 ms·
This one is the best so far: 1. Works with any JavaScript library 2. You can write server-side logic 3. Operational Transformation baked in Seriously I cann
by Void_ 14y ago
This one is the best so far:
1. Works with any JavaScript library
2. You can write server-side logic
3. Operational Transformation baked in
Seriously I cannot find anything bad about this project. (I really wanted to.)
My questions:
1. Is the server side written in Python?
2. Is there offline support for JavaScript apps too?
(I tried this with my own library and I think it was a wrong direction -- it only made it more complicated than it should be)
3. How about relationships in JavaScript objects? How does that work? (I suppose it's all automatic in Core Data objects, but how about JavaScript?)
Thanks!
- ecksor 14y ago1. Server side is all python (combination of tornado/gevent/zeromq) 2. We've experimented with it, we'll likely add it as an option in the future since there may be security concerns depending on the app.
- Void_ 14y agoThanks! Can you please tell me something about the number 3. Sorry just edited it!
- cloudmike 14y agoI'll take number 3. Core Data one-to-many relationships are indeed handled automatically. On the JavaScript side, you'll see these relationships reflected in both directions using unique identifiers, but you need to interpret them accordingly. This is pretty straightforward using collections in libraries like Backbone.js.
- erichocean 14y agoI can see a few missing things (correct me if I'm wrong): 1. peer-to-peer sync (no intermediate server) 2. cloud server isn't passive and stateless No. 2 is very important for scalability. 1 is mostly a nice to have, especially on the WAN, where you can sync directly from, e.g. an iPad to your iPhone. Both are doable (I did both in HubSync back in 2009).
- kt9 14y agoI missed the part about writing server side logic. How does this service allow you to write service side logic?
- ecksor 14y agoWe provide endpoints for you to monitor all changes across all users - using this you can run a service that could validate each piece of data as it is changed, making updates if necessary, or do things like mirror the entire datastore.