A friend recently asked if I had any recommended reading on designing APIs in general. I found some time today to dig through my Pinboard, and these are the relevant links I found.
Many/most of them are language- or technology-specific, but I think it’s useful to read through all of them. You’ll come away with useful ideas that you can apply in any language or framework.
- Best Practices for Designing a Pragmatic RESTful API by Vinay Sahni
- API Design by Matt Gammell
- Functional options for friendly APIs by Dave Cheney
- Using @autoclosure when designing Swift APIs by John Sundell
- SE-0117, API Design, and You by Eli Perkins
- Library-Oriented Programming - talk by Justin Spahr-Summers at #Pragma Conference 2015
And two links on designing asynchronous APIs specifically:
- Designing APIs for Asynchrony by Isaac Z. Schlueter
- Callbacks, synchronous and asynchronous by Havoc Pennington
As always, I welcome discussion and feedback; I’m @cdzombak on Twitter.