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
- API Usability Testing an online service provider
Know a great online resource on API quality, API usability, or API design best practices? Leave us a comment!
Hi Ferenc,
Thank you for your great resource list!
One of API design approaches is a scenario-driven approach, in which an API design is derived by conducting usability studies for the most common scenarios (use cases). So please consider including in your list http://www.apiusabilitytesing.com (I run that service). We are software developers who conduct usability studies for APIs in any stage of development and we are always glad to implement use cases and provide feedback!
Regards,
Denis Lazarau