The best mobile apps are optimized, from the client to the backend API. There are different approaches for the API: REST, RPC, GraphQL, etc. None are the silver bullet. You have to make your own blend
Completely agree. There’s no one-size-fits-all API approach for mobile apps. The real value comes from choosing the right mix based on use case—REST for simplicity, RPC for performance-critical flows, and GraphQL where flexibility really matters. Optimising the API with the mobile client in mind makes a huge difference in real-world performance and developer experience
in my experience protobufs are too esoteric to get wide adoption although I personally like the concept. I think the hurdle of encoding and decoding to binary and not being able to examine things with charles proxy or similar easily/out of the box is what makes it less popular.
Plus, go try to ask backend folks to build APIs using it vs JSON. they'd be like "proto-what now??!?" lol
Completely agree. There’s no one-size-fits-all API approach for mobile apps. The real value comes from choosing the right mix based on use case—REST for simplicity, RPC for performance-critical flows, and GraphQL where flexibility really matters. Optimising the API with the mobile client in mind makes a huge difference in real-world performance and developer experience
What about binary streams and protobufs?
in my experience protobufs are too esoteric to get wide adoption although I personally like the concept. I think the hurdle of encoding and decoding to binary and not being able to examine things with charles proxy or similar easily/out of the box is what makes it less popular.
Plus, go try to ask backend folks to build APIs using it vs JSON. they'd be like "proto-what now??!?" lol
I haven't tried protobufs, but used binary streams early in my career. They were blazing fast, but very unforgiving if you make any mistake.