Application programming interface

Application Programming Interface, forkortet API, er en softwaregrænseflade, der tillader et stykke software at interagere med andet software. Et API er implementeret i applikationer (programmer), programbiblioteker og styresystemer. Et typisk eksempel på dette er, når applikationer "taler" med styresystemet for at åbne en fil, hvorefter styresystemet på programmets vegne vil indlæse filen fra, eksempelvis, en harddisk.

I en nøddeskal kan et API betegnes som en måde at tilbyde it-tjenester, herunder data, fra et system i et andet system.

Koncept

Et API definerer et sæt af kendte (dokumenterede), og således eksternt brugbare funktioner, som andre programmer kan bruge i forbindelse med udførsel af en opgave. I modsætningen til publicerede funktioner, der altså er eksternt brugbare, findes der ikke-eksternt brugbare funktioner, såkaldte private funktioner, der er forbeholdt de udviklere, der oprindeligt har lavet API'et, eller den software der stiller API'et til rådighed. Hvis en udvikler benytter sig af en privat funktion, der ikke er dokumenteret, kan programmet og dets funktionalitet gå i stykker, så snart udvikleren opdaterer API'et.

API'er findes i alle styresystemer, der tillader udvikling af applikationer. Dette er krævet for at programmet og styresystemet kan kommunikere med hinanden. Det definerer en række protokoller, regelsæt, der gør at programmet kan bede styresystemet om at gøre specifikke ting, og omvendt. Er disse ikke implementeret vil funktionaliteten af programmet være stærkt begrænset, eftersom rigtig mange handlinger bliver behandlet af selve styresystemet. Eksempelvis er fremvisning af grafiske brugergrænseflader ofte håndteret af operativsystemet, og ikke selve programmet.

(Et API må ikke forveksles med et framework, der overfladisk kan betegnes som værende byggeklodser for programmer, som ofte er standardiserede.)

Brug

Udover brug i styresystemer, er API'er også i vid brug på internettet: adskillige populære websider stiller API'er til rådighed, som tillader tredjeparts websider eller -programmer at bruge websidens funktioner og/eller data. Eksempelvis har Google, Facebook, Twitter[1] og Flickr[2] API'er til rådighed.

Opdateringer af API'er

Scientist.svgSvært stof
Denne artikel omhandler svært stof. Der er endnu ikke taget hensyn til ikke-eksperter. Du kan hjælpe ved at skrive en letforståelig indledning.

Hvert API har typisk et versionsnummer, der skiftes hver gang der laves tilføjelser eller ændringer i grænsefladen. Når et API ændres kan det blive inkompatibelt med programmer, der bruger gamle versioner af det API. Der findes flere typer ændringer: helt interne ændringer, som retter fejl eller gør de funktioner, der stilles til rådighed mere effektive; tilføjelse af nye muligheder, der ikke har indvirkning på eksisterende programmer; samt gennemgribende ændringer, der ikke bevarer den eksisterende grænseflade.

Interne ændringer har ingen påvirkning på selve funktionaliteten af programmet, men kan eksempelvis gøre dette hurtigere, på grund af optimeringer. Hvis et program laves om, så nye funktionaliteter udnyttes, vil programmet ikke nødvendigvis længere kunne anvendes med ældre versioner af API'et. Afhængig af programmet og API'et vil programmøren kunne bibeholde en vis mængde bagudkompatibilitet, ved at undersøge versionen af API'et, og kun tilbyde de funktioner der er til rådighed. Ved gennemgribende ændringer er det oftest nødvendigt at rette brugen af API'et i de eksisterende programmer.

Se også

Referencer

  1. ^ Twitter Developers
  2. ^ Flickr API
ProgrammeringSpire
Denne artikel om datalogi eller et datalogi-relateret emne er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.

Medier brugt på denne side

Scientist.svg
Forfatter/Opretter: Viktorvoigt, Licens: CC BY-SA 3.0
stub icon