Summary
By now, you have a fair understanding of what APIs are, how they evolved, and how their history is connected to the history of computing and the internet. You also know which technologies and tools you can use to build your API product. Let’s look back at all the things you learned in this chapter.
You started by understanding the concept of API as a way to connect different pieces of software together, independently of their location or the communication protocol that they’re using. Then, you dived into local APIs, which run locally on the device and help the operating system and the applications that run on top of it communicate with each other. After that, you learned the difference between these local APIs and the remote ones that run on networks. Then, you walked through the history of APIs, seeing that, since the beginning, emphasis has been placed on the reusability of software. You saw how different people, such as von Neumann, Fielding, and Berners-Lee, influenced how APIs work and what they do. From there, you went through the existing technologies, protocols, and tools that are available for you to build an API product.
These are some of the concepts that you’ve learned in this chapter:
- An API is a programmable way of interacting with an application
- APIs offer reusable functionality that reduces the time it takes to build new applications
- Software modules and programming language libraries can be considered APIs
- APIs exist on different types of networks, not just the web
- Different communication protocols provide different features to the APIs that run on them
The following are things to take into account when choosing between a synchronous and an asynchronous API approach:
- The features that different API standards such as RPC, REST, gRPC, and GraphQL offer
- Different tools can help get your job done and help you with API design, documentation, validation, testing, and deployment
Thank you for reading this chapter. In the next chapter, you’ll focus on API user experience or API UX. You’ll be able to understand how to identify the users of your API and how to make sure they have the best possible experience. Keep reading to learn more about developer experience, API friction, and other topics related to API UX.