Vad är API?

Text skriven av Sandra Svensson.

Ett av kodknackarens vanligaste begrepp.

Du har säkert sett eller hört förkortningen API, ett uttryck som man ganska snart råkar på när man börjar koda. Men vad betyder det egentligen? API, Application Program Interface, är ett slags protokoll som används för att program (även kallat applikationer) enklare ska kunna snacka med varandra. En slags tolk, som kommunikationen går genom.

Exempel 1: En app hämtar information eller funktioner från en annan app

Säg att du har en väderapp i din telefon. För att den ska kunna fungera måste den hämta väderprognoser. Kanske vänder den sig till SMHI:s webbapp. Väderappen kan förstås ha programmerats till att gå in på SMHI.se för att hämta informationen därifrån, ungefär som du eller jag själv kan göra. Men detta hade lätt kunnat leda till problem. Om SMHI ändrar sin hemsida till exempel. Appen är programmerad att hämta information från förstasidan, men informationen har flyttats till en annan sida.

Här är API en mer robust lösning. Eftersom väderappen är ett program kan den prata med SMHI:s API för att hämta ut data. Detta sker enligt API:ets regler (också kallat dokumentation) som säger ”så här ska du prata för att jag ska förstå” och ”så här förstår du det svar jag kommer skicka tillbaka”.

Exempel 2. Ett program på datorn snackar med operativsystemet

API:er finns inte bara på www, utan även i din dator. Exempelvis kommunicerar ditt ordbehandlingsprogram (t.ex. Word) med ditt operativsystem (t.ex. Windows) när du vill skriva ut något på din skrivare. Kommunikationen sker då via operativsystemets API.

Word säger ”Hallå Windows, jag vill skriva ut det här receptet på sötpotatissoppa”. Windows säger ”Okok, jag ska snacka med skrivaren” och beordrar sedan skrivaren att printa ut receptet.

API:er gör att program som är bra på en sak får göra just den saken. Windows är bra på att hantera flera program samtidigt och på att snacka med skrivaren. Word kan då koncentrera sig på att göra vad Word gör bäst, till exempel göra konstiga indrag i en text utan att man bett om det.

Vad är öppna API:er?

Om ett program har ett öppet API så kan vem som helst använda sig av det i sina egna program. Som i det första exemplet med väderappen. Och API:er är ju lite som byggstenar, som kan användas tillsammans med varandra. Ju fler byggstenar som finns tillgängliga, desto fler grymma projekt kan byggas. Man kan till exempel tänka sig ett program som använder sig av SMHI:s API och Booli:s API för att visa vilket hus man bör köpa för att få flest soltimmar per år.

5 exempel på populära API:er

Exakt hur många API:er det finns där ute vet jag inte. I don’t have the technology. Men testa att googla efter några av dina favorittjänster, till exempel ”instagram api”, så ser du snart att de flesta har ett (mer eller mindre) tillgängligt API. Här är några andra populära API:er, som också är ganska lätta att arbeta med för nybörjare inom programmering.

1. Google Maps
2. YouTube
3. Twitter
4. LinkedIn
5. Pinterest

Bubblare: Jag vet inte hur populärt eller lättanvänt det är, men även NASA har ett öppet API. Om inte DET motiverar en till att vilja lära sig programmera, så vet jag inte vad som gör det.