4 ms·
The goal is basically to help you build offline-first apps. In the offline-first paradigm, app code works directly with a client-side embedded database, which a
by ochiba 3y ago
The goal is basically to help you build offline-first apps. In the offline-first paradigm, app code works directly with a client-side embedded database, which automatically syncs with a backend database in the background. This is in contrast to cloud-first apps which primarily use a cloud datastore via APIs.
Working with a local database (e.g. SQLite) means that apps feel instant to use because of low latency, and remain functional when the user’s network connection is unreliable or offline. Also, offline-first typically offers built-in real-time collaboration by automatically syncing data in the background.
There's 1-minute demo video here of a Flutter "To-Do List" app showing some of these concepts: https://www.youtube.com/watch?v=VTx5ViRe3HY https://www.youtube.com/watch?v=VTx5ViRe3HY (this demo uses a Supabase Postgres backend for simplicity)
- JCharante 3y agoOh that's very interesting. I guess it's easier to deal with "only" sqlite than to have a store, keep track of mutations, and then upload/download the mutations when the device is reconnected.
- ochiba 3y agoFor sure, working only with a local SQLite database does simplify state management in many cases. For the most part you don't need an additional state management system/library. Meta had an interesting article a few years back about how they rewrote the Messenger app to use SQLite: https://engineering.fb.com/2020/03/02/data-infrastructure/messenger/ https://engineering.fb.com/2020/03/02/data-infrastructure/me...