API3

VAD ÄR ETT API?


API är en term du kan stöta på ofta i sammanhang kring webbutveckling. Det står för Application Programming Interface. Enkelt förklarat är det en brygga för olika system att utbyta data mellan varandra. Okej, det kanske går att förklara ännu enklare. Vi tittar på ett exempel!

EXEMPEL: TRAFIKLAB

Trafiklab beskriver sig som en community för öppen trafikdata. De tillhandahåller bland annat API:er med information om SL:s lokaltrafikstatus. Exempelvis stationsnamn och realtidsinfo om hur många minuter det är kvar tills din buss ska avgå.

I samband med att jag ville utvärdera frontend-ramverket Vue.js blev jag nyfiken på att testa detta API och märkte att delar av SL:s realtidsinfo hade avgångsinfo ner på sekundnivå. Något jag saknat i de lokaltrafiks-appar jag testat tidigare. Det ville jag dra nytta av!

Genom att läsa API:ets dokumentation kunde jag lära mig hur man gör anrop till deras servrar för att få ut informationen. Jag kunde sedan bygga en web-app och använda mig av informationen till mitt egna gränssnitt.

Visuellt exempel på appen in action:

MÖJLIGHETER

Trafiklabs API tillåter mig att använda mig av trafikdatan på helt valfria sätt. I detta fall bara en test-applikation (som jag förvisso använder till och från jobbet), men det hade lika gärna kunna blivit ett nytt tillskott på iTunes och Google Play för andra att dra nytta av.

Det här är bara ett exempelområde. API:er gör också mycket annat. Smarta assistenter i hemmet som Google Home och Alexa är andra exempel. När en användare säger "Alexa, beställ fler post-its" så är det en lång kedja av API-anrop fram och tillbaka som möjliggör att ditt Amazon-konto beställer något hem till dig.

Kanske har din affärsverksamhet data eller funktionalitet som skulle lämpa sig att göra öppen och tillgänglig? Det kan vara ett sätt att öppna upp för innovation och nytänkande som din produkt kan dra nytta av.

Har du frågor om vad API:er är bra för eller kanske vill kika på källkoden för min web-app är du välkommen att höra av dig!

Kalle Macklin || Technical Director