DEV Community

Frankie Jenkins
Frankie Jenkins

Posted on

Two apps, one API: lessons from a shared backend

We shipped an iOS and Android app backed by the same API. It went fine, but a few decisions mattered a lot.

What worked:

  • One versioned API, and clients that tolerate unknown fields
  • Server-driven feature flags instead of hardcoded release rules
  • A shared contract file (OpenAPI) that both apps generate models from

What I'd change:

  • We added a "v2" endpoint for one screen and it became three. Versioning per-field would have been better.

I'm learning Rust for a small CLI that helps with release notes. Coming from Swift and Kotlin, the compiler feels strict in a good way.

Top comments (0)