by kobieps on 5/6/25, 8:48 PM with 25 comments
by doawoo on 5/10/25, 6:26 PM
Any particular reason you personally prefer Riverpod?
by account-5 on 5/11/25, 12:17 AM
If this is a local first app, why not use the sqlite database itself for state management? Powersync themselves talk about it here:
https://www.powersync.com/blog/how-local-first-simplifies-fl...
Flutter state management always seemed clunky and complicated to me. With the caveat I'm developing small projects in it that tend not to need complicated state management functionality.
by zerr on 5/10/25, 8:16 PM
by hosh on 5/10/25, 10:31 PM
One of the main goals of local-first is so that the user of a local-first application owns their own data. (See Martin Kleppmann's paper on this).
As such, local-first applications don't necessarily have a concept of a central server. `git` is local-first, though most teams synchronize to a hub such as Github or Gitlab. This is a design principle to get away from having to sync to the cloud, making it more difficult to monetize as a SAAS. There seems to be a growing trend of people promoting offline-first applications as local-first, but structuring it to still lock people's data into their SAAS. (If you want to lock them in, then say so -- call it offline-first).
A true local-first mobile app would allow me to collaborate with someone in the same room using Bluetooth, even out somewhere where I don't have wifi, cell service or Starlink
See:
- https://martin.kleppmann.com/papers/local-first.pdf
- https://www.inkandswitch.com/essay/local-first/ (Same, but in html)
by sgt on 5/10/25, 7:21 PM
by account-5 on 5/7/25, 5:20 PM