The following list is a collection of resources for understanding and
learning Web fundamentals and application programming interfaces (APIs).
Modern software development is driven by crafting custom code and combining
that code with APIs. The concepts listed here are key to performing
software development well. Many of these links are also included in my
application programming interfaces section on Full Stack Python
but the ones here are programming language agnostic.
These links go along with my
Web APIs, Exponential Growth and You talk.
Web and API Fundamentals
- Ensure you've read the
HTTP 1.1 Spec which
defines the verbs for interacting with the Web, such as GET, POST, PUT,
and DELETE. This document provides many foundational concepts for Web
developers.
- APIs 101 is a free guide by Zapier
for both technical and non-technical audiences who want to learn the
fundamentals behind web APIs.
Creating APIs
- "Design a beautiful REST API"
reviews common design decisions regarding endpoints, versioning, errors
and pagination. There is also a source material YouTube video where this
blog post derives its recommendations from.
- Heroku's API Design Guide
provides a design perspective from one of the top current tech companies.
- 18F produced an extensive set
of opinionated API design standards.
- 10 Reasons Developers Hate Your API
goes through the top difficulties and annoyances developers face when working with APIs and how you can avoid your API falling into the same traps.
Consuming APIs
- "API Driven Development"
by Randall Degges explains how using APIs in your application cuts
down on the amount of code you have to write and maintain so you can
launch your application faster.
- "Safe Sex with Third Party APIs"
is a funny high level overview of what you should do to protect your
application when relying on third party services.
- John Sheehan's
"Zen and the Art of API Maintenance"
slides are very relevant for API integration.