Hjemmeside » hvordan » Hvad er en API?

    Hvad er en API?

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

    Application Programming Interface

    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 skål. Når du angiver hvilke menupunkter du ønsker, gør restaurantens køkken arbejdet og giver dig nogle færdige retter. Du ved ikke præcis, hvordan restauranten forbereder den mad, og du behøver det ikke rigtig.

    På samme måde lister en API en masse 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 "Gem som" dialogboks. De skal bare vide, at den er tilgængelig til brug i deres app.

    Dette er ikke en perfekt metafor, da udviklere må give deres egne data til API'en for at få resultaterne, så måske er det mere som en dekorativ restaurant, hvor du kan give nogle af dine egne ingredienser køkkenet vil fungere 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 gøre det nitty-gritty arbejde. Dette hjælper med at reducere mængden af ​​kodeudviklere, der skal oprettes, og hjælper også med at skabe mere sammenhæng på tværs af apps på samme platform. API'er kan styre 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 indeholder et stort antal API'er - som alle andre operativsystemer gør - for at gøre det nemmere for dig.

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

    Hvis du vil tage billeder eller video fra iPhone's kamera, behøver du ikke at skrive din egen kamerainterface. Du bruger kameraets API til at indlejre iPhone's indbyggede kamera i din app. Hvis API'er ikke eksisterede for at gøre det nemt, skal app-udviklere oprette deres egen kamerasoftware og fortolke indgangene til kamerahardwaren. Men Apples operativsystemudviklere har gjort alt dette hårde arbejde, så udviklerne kan bare bruge kameraets API til at indlejre et kamera, og derefter fortsætte med at bygge deres app. Og når Apple forbedrer kamera-API'et, vil alle de apps, der er afhængige af det, automatisk udnytte denne forbedring.

    Dette gælder for alle platforme. For eksempel vil du oprette en dialogboks på Windows? Der er en API til det. Vil du understøtte fingerprint-godkendelse på Android? Der er også en API for det, så du behøver ikke teste alle forskellige Android-producentens fingeraftrykssensor. Udviklere behøver ikke at genopfinde hjulet igen og igen.

    API'er Kontroller adgang til ressourcer

    API'er bruges også til at kontrollere adgangen til hardwareenheder og softwarefunktioner, som et program ikke nødvendigvis har brug for tilladelse til at bruge. Derfor spiller API'er ofte en stor rolle i sikkerhed.

    For eksempel, hvis du nogensinde har besøgt et websted og set en besked i din browser, at hjemmesiden beder om at se din præcise placering, forsøger hjemmesiden at bruge geolocation API i din webbrowser. Webbrowsere udsætter API'er som denne for at gøre det nemt 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 nærliggende Wi-Fi-netværk for at finde din fysiske placering.

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

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

    Filsystemer, der bruger tilladelser - som de gør på Windows, Mac og Linux - har de tilladelser, der håndhæves af filsystemet 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 til alle andre grunde. Hvis du for eksempel har set et Google Maps-objekt integreret på et websted, bruger hjemmesiden Google Maps API til at integrere det pågældende kort. Google udsætter API'er som dette for webudviklere, hvem kan derefter bruge API'erne til at plukke komplekse objekter lige på deres hjemmeside. Hvis API'er som dette ikke eksisterede, kan udviklere muligvis oprette deres egne kort og give deres egne kortdata bare for at sætte et lille interaktivt kort på en hjemmeside.

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

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

    OAuth-standarden definerer også en række 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 bare for den pågældende side . API'er er standardkontrakter, der definerer, hvordan udviklere kommunikerer med en tjeneste og den type output, som udviklere skal forvente at modtage tilbage.


    Hvis du har gennemgået dette, får du en bedre ide om, hvad en API er. I sidste ende behøver du ikke rigtig at vide, hvad en API er, medmindre du er en udvikler. Men hvis du ser en software platform 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.