gRPC in Apps: A Migration Story
summary
Live migration of a sample app shows gRPC + Protocol Buffers running side‑by‑side with REST across Android, iOS, Flutter and Web, with generated code enforcing a compile-time contract so renames break builds not users. Demo runs 20 sequential requests showing one HTTP/2 single HTTP/2 channel versus 20 TCP handshakes and reports the gRPC payload as 54% smaller payload. Migration follows a five‑step, zero downtime migration: repo abstraction, proto contract, codegen, toggle rollout, and deprecate REST when telemetry hits zero.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:49REST APIs silent failures
- 6:29Why GraphQL doesn’t solve the problem
- 9:00gRPC API contracts
- 11:55Protocol Buffers field numbering
- 13:40gRPC communication patterns
- 15:07gRPC migration concepts
- 18:14Zero-downtime migration
- 20:01Code generation with protoc
- 21:26Android gRPC setup
- 22:10gRPC data source
- 23:14REST API deprecation
- 24:40Streaming with Kotlin Flow
- 25:21Performance demo
- 27:06Cross-platform codegen
- 28:17Compile-time safety proof
- 29:00Debugging gRPC
- 30:09gRPC for AI streaming
- 31:33gRPC and HTTP/3 future
- 33:42When to avoid gRPC
- 35:05Resources and conclusion
related talks
18mThe postmodern API gRPC on Android
38mProtobuf for speeding up your Android application
46mA Different Kind of Networking with gRPC and Protocol Buffers
35mThinking Beyond the REST API: gRPC for Android
27mSafe Network API Migration Tactics
26mDemystifying Protocol Buffers and gRPC
41mOur ongoing journey from REST to GraphQL on Android
45mOur ongoing journey from REST to GraphQL on Android
