API Design Resources
Books
- Effective Java (2nd Edition) by Joshua Bloch:
- Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) by Krzysztof Cwalina and Brad Abrams
- Practical API Design: Confessions of a Java Framework Architect by Jaroslav Tulach
- API Design for C++ by Martin Reddy
- Business of APIs by Kin Lane and Audrey Watters
Videos
- How To Design A Good API and Why it Matters by Joshua Bloch
- API Design anti-patterns by Alex Martelli
- Paradoxes of API Design by Jaroslaw Tulach
- Building APIs That Rock by Jeff Eaton
- Your API Sucks! by March Gardiner and Brian Mulloy
- Darwin’s Finches, 20th Century Business, and APIs by Sam Ramji
- Best Practices in Javascript Library Design by John Resig
- Hypermedia APIs by Jon Moore
- Aphorisms of API design by Larry Garfield
- Simple Made Easy by Rich Hickey
- RESTful API Design: Second Edition by Brian Mulloy
- Programming Style & Your Brain by Douglas Crockford
- SE Radio Episode 143: API Design with Jim des Rivieres (audio only)
- Your API is so 2006 by Delyn Simons
- Writing Usable APIs in Practice by Giovanni Asproni
Articles
- API Design Matters: Why changing APIs might become a criminal offense by Michi Henning
- The Little Manual of API Design by Jasmin Blanchette
- Designing Qt-Style C++ APIs by Matthias Ettrich
- Programmers Are People, too by Ken Arnold
- Good API design by John A. De Goes
- Design Guidelines Digest by Krzysztof Cwalina
- Bumper-Sticker API Design by Joshua Bloch
- Evolving Java-based APIs by Jim des Rivières
- API Good Practice by Marieke Guy
- Documentation Usability: A Few Things I’ve Learned from Watching Users by Tom Johnson
- Thoughts on RESTful API Design by Geert Jansen
- Secrets of Awesome JavaScript API Design by Brandon Satrom
Other
- Eclipse/API Central
- Google C++ Style Guide
- NetBeans API Design Wiki
- The API Evangelist Blog
- The usability of programming languages (lecture notes) b y Alan Blackwell
Know a great online resource on API quality, API usability, or API design best practices? Leave us a comment!