| A while back I was working on building a fairly simple app that lets me track some different aspects of my workouts. I know, there are 1000 apps out there that track workouts so this was more of just a fun thing to build :) Now that I've got it on my phone and playing around with it I've had some requests from friends that they'd love to use it too, which leads me to my question. When building for myself I didn't really care about where the data was stored. If I deleted the app off my phone I wasn't too worried if I couldn't get it back. Now there will be more users and more data, does it make sense from your experience to create an API to store the data remotely? I see some pro's and con's to a remote API: Pros
- Data Backups
- Sync across devices
- Easier analytics (via db lookups, though Google Analytics could be arguably easier...)
- Easier(ish) feature enhancement with a versioned API (just add some new api endpoints vs modifying the local DB)
- No local database, just a simple JSON API, ahh... Cons
- Building an API :) That being said, it's fairly simple setup with only a few models
- Users would have to register (so we could authenticate them via the API and get their data)
- Requires internet access
- Obviously slower than having data stored locally, though how much slower isn't clear So, what would you do? Would you rather the data be stored remotely or locally? Any experience that lead you to that conclusion that you wouldn't mind sharing? |
You may be able to use a PaaS backend like Parse to power your API.