I would love to see a sync solution that didn't want to replace my datastore, or mediate all access to it.
This approach means the tools have to be good at not just sync, but also querying, business logic, validation, authn, authz, trigger background jobs, etc. That's a lot!
I'm not trying to eliminate my backend, nor an all-in-one frontend DB. I've tried tools that do that, and I've come to think the approach has severe limits.
I wonder if there's not a way to offer a two-way stream of data change events, with conflict detection/resolution, which I can process with my own code.
matlin 11 hours ago [-]
PouchDB and CouchDB were what inspired me to build Triplit[1]. The idea of having an identical (or merely similar in the case of Pouch/Couch) query engine accessible on client and server is insanely powerful.
The author links to a much longer post on handling conflicts which is worthy of its length because it's not a pleasant experience with this setup.
I highly recommend trying a modern setup from one of the many new local first solutions [2]
Great to see the founder of Triplit here! PouchDB was definitely ahead of its time, and it’s exciting to see its legacy being carried forward by so many modern local-first (lo-fi) solutions. I’ve also been a longtime fan of Triplit - its API, docs, and overall DX (plus direct community interaction) are excellent.
Also Triplit's universal client/server model means you never have to care about all the complexity of other solutions that require to get the transformations between client db & server db just right.
A really impressive piece of work! (another great one with a universal db is jazz.tools, especially if you need encryption)
exe34 4 hours ago [-]
Please let's not make lo-fi mean local-first.
elcritch 10 hours ago [-]
Nice, I’ll have to try out Triplit. There’s also Couchbase which has a local sync database in C++ IIRC.
triplit sounds awesome. Any precedence of someone using it from a native iOS app?
matlin 1 hours ago [-]
With React Native yes but not yet with Swift. There's been quite a few requests to my surprise through--I figured CloudKit, etc would be sufficient on iOS but I don't have experience there.
yetke 4 hours ago [-]
Great to see the CouchDB / PouchDB combination getting some traction.
I wonder if this article is from the same people who made hood.ie? (i think it was sort of a backend/frontend library making it easy to build offline first apps, based on pouchdb). It was a really promising project but development stopped a few years ago, unfortunately.
Shameless plug: as there are many different libraries for creating offline first apps, i made a small list of them: https://github.com/yetke/offline-first
tty7 5 hours ago [-]
I used PouchDB w/ CouchDB as the datastore for a digital wallet. Used to store ZKs for proof of age etc.
Worked a treat
chrismorgan 7 hours ago [-]
> Vite, well, it’s in the name. Fast build tooling.
Can someone explain this to me? I’m clearly missing something about its name.
This approach means the tools have to be good at not just sync, but also querying, business logic, validation, authn, authz, trigger background jobs, etc. That's a lot!
I'm not trying to eliminate my backend, nor an all-in-one frontend DB. I've tried tools that do that, and I've come to think the approach has severe limits.
I wonder if there's not a way to offer a two-way stream of data change events, with conflict detection/resolution, which I can process with my own code.
The author links to a much longer post on handling conflicts which is worthy of its length because it's not a pleasant experience with this setup.
I highly recommend trying a modern setup from one of the many new local first solutions [2]
1. https://triplit.dev
2. https://www.localfirst.fm/landscape
Also Triplit's universal client/server model means you never have to care about all the complexity of other solutions that require to get the transformations between client db & server db just right. A really impressive piece of work! (another great one with a universal db is jazz.tools, especially if you need encryption)
Also, heads up the first triplit link I tried gave me a 404: https://www.triplit.dev/docs/client/query/select#selecting-r...
I wonder if this article is from the same people who made hood.ie? (i think it was sort of a backend/frontend library making it easy to build offline first apps, based on pouchdb). It was a really promising project but development stopped a few years ago, unfortunately.
Shameless plug: as there are many different libraries for creating offline first apps, i made a small list of them: https://github.com/yetke/offline-first
Worked a treat
Can someone explain this to me? I’m clearly missing something about its name.
https://en.wiktionary.org/wiki/vite