Hvad er en API?

Du har sandsynligvis set udtrykket “API” komme op. Operativsystem, webbrowser og appopdateringer annoncerer ofte nye API'er til udviklere. Men hvad er en API?

Programmeringsgrænseflade til applikation

Udtrykket API er et akronym, og det står for "Application Programming Interface."

Tænk på en API som en menu i en restaurant. Menuen indeholder en liste over retter, du kan bestille sammen med en beskrivelse af hver ret. Når du angiver, hvilke menupunkter du ønsker, udfører restaurantens køkken arbejdet og giver dig nogle færdige retter. Du ved ikke nøjagtigt, hvordan restauranten tilbereder den mad, og det behøver du ikke rigtig.

Tilsvarende viser en API en række operationer, som udviklere kan bruge sammen med en beskrivelse af, hvad de gør. Udvikleren behøver ikke nødvendigvis at vide, hvordan et operativsystem f.eks. Bygger og præsenterer en dialogboksen "Gem som". De skal bare vide, at den er tilgængelig til brug i deres app.

Dette er ikke en perfekt metafor, da udviklere muligvis skal levere deres egne data til API'en for at få resultaterne, så måske er det mere som en fancy restaurant, hvor du kan levere nogle af dine egne ingredienser, som køkkenet vil arbejde med.

Men det er stort set nøjagtigt. API'er giver udviklere mulighed for at spare tid ved at udnytte en platforms implementering til at udføre det nitty-gritty arbejde. Dette hjælper med at reducere mængden af ​​kode, som udviklere har brug for at oprette, og hjælper også med at skabe mere konsistens på tværs af apps til den samme platform. API'er kan kontrollere adgangen til hardware og software ressourcer.

API'er gør livet lettere for udviklere

Lad os sige, at du vil udvikle en app til en iPhone. Apples iOS-operativsystem leverer et stort antal API'er - som alle andre operativsystemer gør - for at gøre det lettere for dig.

Hvis du f.eks. Vil integrere en webbrowser for at vise en eller flere websider, behøver du ikke programmere din egen webbrowser fra bunden kun til din applikation. Du bruger WKWebView API til at integrere et WebKit (Safari) browserobjekt i din applikation.

Hvis du vil tage billeder eller video fra iPhones kamera, behøver du ikke skrive din egen kamerainterface. Du bruger kameraets API til at integrere iPhones indbyggede kamera i din app. Hvis der ikke eksisterede API'er for at gøre det let, skulle app-udviklere oprette deres egen kamerasoftware og fortolke kamerahardwares input. Men Apples operativsystemudviklere har gjort alt dette hårde arbejde, så udviklerne bare kan bruge kameraets API til at integrere et kamera og derefter fortsætte med at opbygge deres app. Og når Apple forbedrer kameraets API, vil alle de apps, der stoler på det, drage fordel af den forbedring automatisk.

Dette gælder for enhver platform. Vil du f.eks. Oprette en dialogboks på Windows? Der er en API til det. Vil du understøtte fingeraftryksgodkendelse på Android? Der er også en API til det, så du behøver ikke teste hver anden Android-producents fingeraftrykssensor. Udviklere behøver ikke at genopfinde hjulet igen og igen.

API'er styrer adgangen til ressourcer

API'er bruges også til at kontrollere adgang til hardwareenheder og softwarefunktioner, som en applikation muligvis ikke nødvendigvis har tilladelse til at bruge. Derfor spiller API'er ofte en stor rolle i sikkerheden.

RELATERET: Sådan stopper du websteder med at bede om din placering

For eksempel, hvis du nogensinde har besøgt et websted og set en besked i din browser om, at webstedet beder om at se din nøjagtige placering, forsøger det websted at bruge geolocation API i din webbrowser. Webbrowsere udsætter API'er som denne for at gøre det let for webudviklere at få adgang til din placering - de kan bare spørge "hvor er du?" og browseren gør det hårde arbejde med at få adgang til GPS eller Wi-Fi-netværk i nærheden for at finde din fysiske placering.

Imidlertid udsætter browsere også disse oplysninger via en API, fordi det er muligt at kontrollere adgangen til det. Når et websted ønsker adgang til din nøjagtige fysiske placering, er den eneste måde, de kan få det på via lokalitets-API'en. Og når et websted forsøger at bruge det, kan du - brugeren - vælge at tillade eller afvise denne anmodning. Den eneste måde at få adgang til hardwarressourcer som GPS-sensoren er via API'en, så browseren kan kontrollere adgangen til hardwaren og begrænse, hvad apps kan gøre.

Det samme princip bruges på moderne mobile operativsystemer som iOS og Android, hvor mobilapps har tilladelser, der kan håndhæves ved at kontrollere adgangen til API'er. For eksempel, hvis en udvikler forsøger at få adgang til kameraet via kameraets API, kan du afvise tilladelsesanmodningen, og appen har ingen måde at få adgang til enhedens kamera.

Filsystemer, der bruger tilladelser - som de gør på Windows, Mac og Linux - har disse tilladelser håndhævet af filsystemets API. En typisk applikation har ikke direkte adgang til den rå fysiske harddisk. I stedet skal appen få adgang til filer via en API.

API'er bruges til kommunikation mellem tjenester

API'er bruges også af alle mulige andre grunde. For eksempel, hvis du nogensinde har set et Google Maps-objekt indlejret på et websted, bruger det websted Google Maps API til at integrere det kort. Google udsætter API'er som denne for webudviklere, som derefter kan bruge API'erne til at plopere komplekse objekter lige på deres websted. Hvis API'er som denne ikke eksisterede, kan udviklere muligvis oprette deres egne kort og give deres egne kortdata bare for at sætte et lille interaktivt kort på et websted.

Og fordi det er en API, kan Google kontrollere adgangen til Google Maps på tredjepartswebsteder og sikre, at de bruger det på en konsistent måde i stedet for at forsøge at integrere en ramme, der f.eks. Viser Google Maps-webstedet.

Dette gælder for mange forskellige onlinetjenester. Der er API'er til anmodning om tekstoversættelse fra Google Translate eller indlejring af Facebook-kommentarer eller tweets fra Twitter på et websted.

RELATERET: Hvad er OAuth? Sådan fungerer disse Facebook-, Twitter- og Google-loginknapper

OAuth-standarden definerer også et antal API'er, der giver dig mulighed for at logge ind på et websted med en anden tjeneste - for eksempel at bruge dine Facebook-, Google- eller Twitter-konti til at logge ind på et nyt websted uden at oprette en ny brugerkonto kun til dette websted . API'er er standardkontrakter, der definerer, hvordan udviklere kommunikerer med en tjeneste, og hvilken type output disse udviklere skal forvente at modtage tilbage.

Hvis du er kommet igennem dette, får du en bedre idé om, hvad en API er. I sidste ende behøver du ikke rigtig vide, hvad en API er, medmindre du er en udvikler. Men hvis du ser en softwareplatform eller -tjeneste har tilføjet nye API'er til forskellige hardware eller tjenester, bør det være lettere for udviklere at drage fordel af sådanne funktioner.

Billedkredit: patpitchaya / Shutterstock.com.