Skip to content

Instantly share code, notes, and snippets.

@EncryptedCurse
Last active June 8, 2021 02:46
Show Gist options
  • Save EncryptedCurse/7e2ea2e996babf38e714bb724a1e04e2 to your computer and use it in GitHub Desktop.
Save EncryptedCurse/7e2ea2e996babf38e714bb724a1e04e2 to your computer and use it in GitHub Desktop.
WatermelonDB downsides
  1. It's a headache to setup with a create-react-app project. I had to install a lot of dependencies to get it up and running: react-app-rewired, customize-cra, and various Babel plugins to add support for decorators, which required creating .babelrc + config-overrides.js and modifying package.json.

  2. There is no existing, drop-in remote sync backend. The WatermelonDB documentation only mentions two examples, neither of which appear to be well-supported or widely used. You're essentially on your own to implement the backend.

  • How to Build WatermelonDB Sync Backend in Elixir seems more of an example than a production-ready solution.
  • Firemelon is built for Firestore — niche.
  1. While both are technically supported, WatermelonDB seems to be more geared towards React Native than React Web. RxDB, on the other hand, explicitly states multiple use cases (including Electron).

  2. It doesn't support arrays or objects as column types. While you can certainly convert to + stringify JSON, RxDB is much more elegant in allowing you to limit the number of items, enforcing uniqueness, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment