Lietojumprogrammu saskarne
Termins API ir akronīms, un tas nozīmē "Application Programming Interface".
Padomājiet par API, piemēram, ēdienkarti restorānā. Izvēlnē tiek parādīts ēdienu saraksts, ko varat pasūtīt, kā arī katra ēdiena apraksts. Kad jūs norādāt, kādus izvēlnes vienumus vēlaties, restorāna virtuve dara darbu un sniedz jums gatavus ēdienus. Jūs nezināt, kā restorāns gatavo šo pārtiku, un jums to tiešām nav nepieciešams.
Tāpat API apraksta virkni darbību, ko izstrādātāji var izmantot, kā arī aprakstu par to, ko viņi dara. Izstrādātājam nav obligāti jāzina, kā, piemēram, tiek veidota operētājsistēma un tiek parādīts dialoglodziņš "Saglabāt kā". Viņiem vienkārši jāzina, ka tie ir pieejami lietojumam viņu lietotnē.
Šī nav ideāla metafora, jo izstrādātājiem, iespējams, būs jāsniedz savi dati API, lai iegūtu rezultātus, tāpēc varbūt tas vairāk ir kā fantāzijas restorāns, kurā jūs varat piedāvāt dažas no savām sastāvdaļām, ar ko virtuve strādās.
Bet tas visumā ir precīzs. Izmantojot API, izstrādātāji ļauj ietaupīt laiku, izmantojot platformas ieviešanas priekšrocības, lai veiktu smalku darbu. Tas palīdz samazināt koda izstrādātāju skaitu, kas jāveido, kā arī palīdz veidot lielāku konsekvenci starp vienas platformas lietotnēm. API var kontrolēt piekļuvi aparatūras un programmatūras resursiem.
API padarīs dzīvi vieglāku izstrādātājiem
Pieņemsim, ka vēlaties izveidot lietotni iPhone. Apple iOS operētājsistēma nodrošina lielu skaitu API, tāpat kā jebkurai citai operētājsistēmai, lai tas būtu vieglāk jums.
Piemēram, ja vēlaties ievietot tīmekļa pārlūkprogrammu, lai parādītu vienu vai vairākas tīmekļa lapas, jums nevajadzēs programmēt savu tīmekļa pārlūku no jauna tikai jūsu lietojumprogrammai. Jūs izmantojat WKWebView API, lai savā programmā iegultu WebKit (Safari) pārlūka objektu.
Ja vēlaties uzņemt fotoattēlus vai video no iPhone kameras, jums nav jāuzraksta sava kameras saskarne. Jūs izmantojat kameras API, lai savā lietotnē iegultu iPhone iebūvēto kameru. Ja API nepastāv, lai tas būtu viegli, lietotņu izstrādātājiem būtu jāizveido sava kameras programmatūra un jāinterpretē kameras aparatūras ieejas. Bet Apple operētājsistēmas izstrādātāji ir paveikuši visu šo smago darbu, lai izstrādātāji varētu vienkārši izmantot kameras API, lai iegultu kameru, un pēc tam turpināt izstrādāt savu lietotni. Un, kad Apple uzlabo kameras API, visas lietotnes, uz kurām paļauties, automātiski izmantos šo uzlabojumu.
Tas attiecas uz katru platformu. Piemēram, vai vēlaties izveidot Windows dialoglodziņu? Par to ir API. Vai vēlaties atbalstīt Android pirkstu nospiedumu autentifikāciju? Tam ir arī API, tādēļ jums nav jāpārbauda visi Android izstrādātāja pirkstu nospiedumu sensori. Izstrādātājiem nav atkārtoti jāpārstrādā ritenis.
API kontrole piekļuvei resursiem
API tiek izmantoti arī, lai kontrolētu piekļuvi aparatūras ierīcēm un programmatūras funkcijām, kurām lietojumprogrammai var nebūt atļaujas izmantot. Tāpēc API bieži spēlē lielu lomu drošībā.
Piemēram, ja kādreiz esat apmeklējis vietni un redzējis pārlūkprogrammā ziņojumu, ka vietne lūdz redzēt precīzu atrašanās vietu, šī tīmekļa vietne mēģina izmantot tīmekļa vietnes pārlūkprogrammā ģeolokācijas API. Tīmekļa pārlūkprogrammas pakļauj šādus API, lai tīmekļa izstrādātāji varētu ērti piekļūt jūsu atrašanās vietai - viņi var vienkārši jautāt: "Kur jūs esat?", Un pārlūkprogrammā ir grūti piekļūt GPS vai tuvējiem Wi-Fi tīkliem, lai atrastu jūsu fizisko atrašanās vietu.
Šo pašu principu izmanto mūsdienu mobilo operētājsistēmu, piemēram, iOS un Android, kur mobilajām lietojumprogrammām ir atļaujas, kuras var izpildīt, kontrolējot piekļuvi API. Piemēram, ja izstrādātājs mēģina piekļūt kamerai, izmantojot kameras API, varat atspēkot atļauju pieprasījumu, un lietotnei nav iespējas piekļūt ierīces kamerai.
Failu sistēmas, kas izmanto atļaujas - tāpat kā Windows, Mac un Linux - ir tās tiesības, kuras izpilda failu sistēmu API. Tipiskai lietojumprogrammai nav tiešas piekļuves neapstrādātajam fiziskajam cietajam diskam. Tā vietā lietotnei ir piekļuve failiem, izmantojot API.
API tiek izmantotas komunikācijai starp pakalpojumiem
API tiek izmantoti arī dažādu citu iemeslu dēļ. Piemēram, ja kādreiz esat redzējis kādā tīmekļa vietnē iegultu Google Maps objektu, šī tīmekļa vietne izmanto Google Maps API, lai iegultu šo karti. Google pakļauj tādus API tādus tīmekļa izstrādātājus, kuri pēc tam var izmantot API, lai plosītos sarežģītos objektos tieši savā tīmekļa vietnē. Ja tādas API nepastāv, izstrādātājiem, iespējams, būs jāizveido savas kartes un jānodrošina savi karšu dati, lai tīmekļa vietnē tiktu ievietota nedaudz interaktīvas kartes.
Un, tā kā tas ir API, Google var kontrolēt piekļuvi Google Maps trešo pušu vietnēm, nodrošinot, ka tās izmanto konsekventi, nevis mēģināt nemanāmi iegult rāmi, kas parāda Google Maps tīmekļa vietni, piemēram.
Tas attiecas uz daudziem dažādiem tiešsaistes pakalpojumiem. Ir API, kas pieprasa teksta tulkošanu no Google tulkojuma, vai arī ievieto Facebook komentārus vai tweets no Twitter vietnē.
OAuth standarts arī definē vairākas API, kas ļauj pierakstīties tīmekļa vietnē ar citu pakalpojumu, piemēram, lai izmantotu savus Facebook, Google vai Twitter kontus, lai pierakstītos jaunā vietnē, neveidojot jaunu lietotāja kontu tikai šai vietnei. API ir standarta līgumi, kas nosaka, kā izstrādātāji sazinoties ar pakalpojumu, un produkcijas veidu, ko šiem izstrādātājiem vajadzētu sagaidīt, lai saņemtu atpakaļ.
Ja jūs to esat ieguvis, jums būs labāka ideja par to, kas ir API. Visbeidzot, jums patiešām nav jāzina, kas ir API, ja vien jūs esat izstrādātājs. Bet, ja redzat, ka programmatūras platforma vai pakalpojums ir pievienojis jaunas API dažādām aparatūru vai pakalpojumiem, izstrādātājiem būtu jābūt vieglāk izmantot šādas funkcijas.