Everyone's losing their minds over offline-first frameworks like WatermelonDB and RxDB, but they're solving a problem most mobile apps don't actually have. Yeah, your user might lose signal for 30 seconds on the subway. You know what they do? They wait or retry. They don't need a local SQLite db with conflict resolution logic that'll take you three months to get right.
I spent two weeks trying to implement proper sync with WatermelonDB on a React Native project. The edge cases murdered us. Partial syncs failing silently, tombstone records piling up, offline mutations conflicting with server changes. For what. Most users have decent connectivity now.
If you need offline, fine. But be honest about the cost. You're not just picking a library. You're picking eventual consistency bugs, debugging nightmare fuel, and a whole new testing surface. The marketing makes it look plug-and-play. It's not.
Use it if you're building something like Maps or an airplane app. For everything else, optimize your network calls and cache strategy first. That'll actually move the needle for your users.
No responses yet.