If there's one word both developers and the average netizen have heard a lot of in the last couple of months it's the word "API". Funnily enough, a lot of people that I've seen throw the "API" card around don't build APIs or know exactly what it's about ๐. I think the word "API" has this esoteric, alien feel to it because I see a lot of customers feeling reassured whenever they're being told an API is going to be used to do something or an API is going to be used to handle a particular responsibility.
I have written about what an API is before, I'm however going to write about something different today. The average backend software engineer will admit that an API is like a headless beast, it doesn't exactly do anything except when connected to a frontend that interacts with a user. We know that frontend developers work on frontend code and backend developers work on the APIs and other things, they share endpoints at the end of the day and data is transferred in JSON format (all of these we've been over before). Something that is lost in all the technical jargon is that the frontend team and the backend teams work at a different pace.
A RELATABLE EXPLANATION
It does beg the question; if the API is ready before the frontend code, how exactly do the backend developers test their APIs to be sure it works?. It turns out that backend developers mostly test their APIs using standalone tools before they integrate with the frontend. Two popular tools for development, documenting and testing APIs are Swagger and Postman.
These tools are API development tools that can be connected to API endpoints in order to demo the process of Creating, Reading, Updating and Deleting (CRUD) items from a database through an API. Everything you do on a digital platform is encapsulated as CRUD. When the APIs are properly tested and documented, the process of integrating them with the frontend code that is meant for that project is then kickstarted. Tools like Swagger or Postman are particularly handy and can prevent unnecessary conflict on development teams.
FINALLY...
Imagine a situation where the frontend team says that they were given the wrong endpoint by the backend team which is why the software doesn't work. Imagine the backend team saying their endpoint is correct and the frontend team are at fault and the thing keeps going back and forth while compromising productivity. With API development tools, the backend team has proof that their API works and does what it's supposed to do. The argument against backend development was that it's harder to know what works or doesn't work until you're trying to use the product, this argument becomes less relevant in the presence of API development tools which helps to simulate an environment where the backend API is called from the frontend.