En API (Application Programming Interface) er et sæt regler, der gør det muligt for to stykker software at kommunikere med hinanden. Tænk på det som en menu: din app kan "bestille" data eller handlinger, og API'en fortæller køkkenet (en tjeneste) præcis, hvad der skal tilberedes, og hvordan det skal serveres.
API'er standardiserer, hvordan anmodninger fremsættes, og hvordan svar returneres, så forskellige systemer kan fungere sammen pålideligt, selvom de er udviklet af forskellige teams, virksomheder eller i forskellige programmeringssprog.
På et grundlæggende niveau definerer en API slutpunkter (adresser, du kan kalde), de metoder, du kan bruge (f.eks. GET til at hente data eller POST til at sende data), formatet for det, du sender (ofte JSON), og hvad du kan forvente at få tilbage (data plus en statuskode som 200 for "OK" eller 404 for "Ikke fundet"). Den forudsigelighed er hele pointen.
Hvis du vil være helt præcis, kan du bruge en API uden en SDK, men ved at bruge en SDK kan du spare tid og reducere fejl.
Ja, flere stilarter, hver med sine fordele og ulemper:
Normalt ja. I stedet for at bygge alt selv, giver API'er dig mulighed for at tilslutte betalinger, kort, e-mail, søgning, analyse, AI og meget mere. Det sparer tid på udvikling, forbedrer pålideligheden (udbyderen holder deres service opdateret) og giver dit team mulighed for at fokusere på det, der gør dit produkt unikt.
Ulemperne: Du arver hastighedsbegrænsninger, priser og oppetidsafhængigheder fra din udbyder. Hvis dit produkt ikke kan fungere uden den pågældende API, skal du planlægge redundans.
Ofte. Mange API'er kræver godkendelse, så udbyderen ved, hvem du er, og kan tildele tilladelser og hastighedsbegrænsninger. Almindelige fremgangsmåder omfatter:
Hold nøgler og tokens ude af offentlige repositorier og klient-side kode, når det er muligt.
Ikke rigtig. En webbrowser, curl eller enhver HTTP-klient fungerer for mange API'er. Udviklere bruger ofte værktøjer som Postman eller indbyggede sprogbiblioteker til at sende anmodninger, inspicere svar og gemme eksempler. Til produktionsapps bruger du dit sprogs HTTP-bibliotek eller udbyderens SDK.
Stort set alt, hvad der er moderne: mobilapps, der henter profiler, "Log ind med Google/Apple", onlinebutikker, der behandler betalinger, synkronisering af smarte hjemmeenheder, dashboards, der henter analyser, og endda din vejr-widget. Hvis software udveksler data, er der sandsynligvis en API under overfladen.