4 ms·
Hah - you're describing "event sourcing" and it's the technique I'm using: https://flpvsk.com/blog/2019-07-20-offline-first-apps-event-sourcing/ https://flpvsk.
by dharmaturtle 5y ago
Hah - you're describing "event sourcing" and it's the technique I'm using: https://flpvsk.com/blog/2019-07-20-offline-first-apps-event-sourcing/ https://flpvsk.com/blog/2019-07-20-offline-first-apps-event-...
Unfortunately event sourcing means distributed systems... and I'm learning this on the fly on nights & weekends. Martin Kleppmann's "Designing Data Intensive Applications" has put the fear of god in me.
- allenu 5y agoYup, I'm doing event sourcing. For my approach, I really just have each device append to its own journal file. I use iCloud's file storage, so I don't even have a service that I run. Each peer device just uploads the latest version of its journal to a shared folder and downloads its peers' journals and plays back the delta as needed. I intentionally chose this architecture since I didn't want to run my own sync service. It keeps the sync system free, but iCloud can be slow. Unfortunately for me, if iCloud is slow, the app gets blamed for it.
- dharmaturtle 5y agoNice. Just checking, did you not go with firebase/couchdb/pouchdb due to pricing?
- allenu 5y agoYes. Anything that required me to pay would mean I'd have to charge a subscription from users, which I didn't want to do.