The following list is a collection of resources for understanding and
learning Web fundamentals and application programming interfaces (APIs).
Much of modern software development is driven by crafting custom code
and combining that code with APIs. The concepts listed here are useful for
adapting your career in an age when web APIs are proliferating exponentially
while the number of devices communicating via the Web are outnumbering the
number of humans interacting through web applications. Many of these links
are also included in my
application programming interfaces section on Full Stack Python
but the links listed here are programming language agnostic.
These links go along with my
Web APIs, Exponential Growth and Your Career 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.
- If you want to get into the origins of Representational State Transfer
(REST), Roy Fielding's
dissertation on the topic
remains hugely influential.
- Short and to the point answer on Stack Overflow about
"What is the difference between REST and RESTful?"
- REST Vs SOAP, The Difference Between Soap And Rest
is a well thought out post on the conceptual differences between the
two architecture styles.
Finding APIs
- Kin Lane's API Discovery page is
a wonderful place to start finding what APIs exist.
- ProgrammableWeb focuses on API industry
news and trends.
- TechCrunch is less technical than many other sources but covers large
announcements about APIs under the
'api' tag.
- Web APIs are integrated into all sorts of other products like
Geckoboard and
Ducksboard so their
integrations pages are great places to start for established services.
- Leanstack.io breaks down web APIs
by categories as does Zapier and
IFTTT.
- My post on
identifying third party services
was written with Django in mind but is language agnostic.
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.