Watched this video on InfoQ about designing APIs for the mobile applications. Few good tips and insights I gathered after watching it are as follows.
- Things to consider while designing the mobile APIs
- Battery life
- Chunky vs. Chatty
- gZip data, especially JSON.
- Instead of loading everything in one go, think about loading data on events.
- Should the application (hence the APIs) be optimized for reading or writing or both?
- Have caching strategy in place. Cache, not only on the client side, but also on the server side.
- Granular, true REST interfaces are great but you might end up making several calls to get the data your screen needs. You might have to create screen specific APIs ( the APIs that provide data and services for one screen ) in order to reduce the # of calls made to the server.
- Pre-generate or pre-process and cache the data that you think the application might need.
- Offload work to the client.