Kas ir API?
Jūs, iespējams, esat redzējuši terminu “API”. Operētājsistēma, tīmekļa pārlūkprogramma un lietotņu atjauninājumi bieži izsludina jaunus API izstrādātājiem. Bet kas ir API?
Lietojumprogrammu saskarne
Termins API ir akronīms, un tas apzīmē „lietojumprogrammu saskarni”.
Domājiet par API kā restorāna ēdienkarti. Ēdienkarte piedāvā ēdienu sarakstu, kurus varat pasūtīt, kā arī katra ēdiena aprakstu. Kad jūs norādāt, kādus izvēlnes elementus vēlaties, restorāna virtuve veic darbu un nodrošina dažus gatavus ēdienus. Jūs precīzi nezināt, kā restorāns gatavo šo ēdienu, un jums tiešām nav nepieciešams.
Tāpat API uzskaita 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, operētājsistēma izveido un uzrāda dialoglodziņu “Saglabāt kā”. Viņiem tikai jāzina, ka tas ir pieejams lietojumprogrammai.
Tas nav ideāls metafors, jo izstrādātājiem, iespējams, jāsniedz API dati, lai iegūtu rezultātus, tāpēc varbūt tas ir vairāk kā iedomīgs restorāns, kur jūs varat nodrošināt dažas savas sastāvdaļas, ar kurām virtuve darbosies.
Bet tas kopumā ir precīzs. API ļauj izstrādātājiem ietaupīt laiku, izmantojot platformas ieviešanu, lai veiktu nevainojamu darbu. Tas palīdz samazināt kodu izstrādātāju skaitu, kas nepieciešams izveidot, kā arī palīdz radīt lielāku konsekvenci starp vienas platformas lietotnēm. API var kontrolēt piekļuvi aparatūras un programmatūras resursiem.
API padara 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, kā to dara jebkura cita operētājsistēma, lai padarītu to vieglāku.
Ja vēlaties ievietot tīmekļa pārlūkprogrammu, lai parādītu vienu vai vairākas tīmekļa lapas, piemēram, jums nav jāplāno sava tīmekļa pārlūkprogramma no jauna tikai jūsu pieteikumam. WKWebView API izmantojat, lai pieteikumā iekļautu WebKit (Safari) pārlūkprogrammas objektu.
Ja vēlaties uzņemt fotoattēlus vai video no iPhone kameras, jums nav jāraksta savs kameras interfeiss. Izmantojot iebūvēto iPhone kameru savā lietotnē, izmantojat kameras API. Ja API nav, lai padarītu šo vienkāršo, lietotņu izstrādātājiem būtu jāizveido sava kameras programmatūra un jāinterpretē kameras aparatūras ievades. Bet Apple operētājsistēmas izstrādātāji ir darījuš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 veidot savu lietotni. Un, kad Apple uzlabo kameras API, visas lietotnes, kas paļaujas uz to, automātiski izmantos šo uzlabojumu.
Tas attiecas uz katru platformu. Piemēram, vai vēlaties izveidot dialoglodziņu sistēmā Windows? Tam ir API. Vai vēlaties atbalstīt pirkstu nospiedumu autentifikāciju Android ierīcēs? Tam ir arī API, tāpēc jums nav jāpārbauda katrs atšķirīgais Android ražotāja pirkstu nospiedumu sensors. Izstrādātājiem nav atkārtoti jāizgudro ritenis.
API kontrolē piekļuvi resursiem
API tiek izmantotas arī, lai kontrolētu piekļuvi aparatūras ierīcēm un programmatūras funkcijām, kuras lietojumprogrammai var nebūt vajadzīgas. Tāpēc API bieži spēlē lielu lomu drošībā.
Piemēram, ja esat kādreiz apmeklējis vietni un pārlūkprogrammā redzējis ziņu, ka vietne lūdz redzēt jūsu precīzu atrašanās vietu, šī vietne mēģina izmantot ģeogrāfiskās atrašanās vietas API savā tīmekļa pārlūkprogrammā. Tīmekļa pārlūkprogrammās tiek piedāvātas tādas API, lai tīmekļa izstrādātājiem būtu vieglāk piekļūt jūsu atrašanās vietai - viņi var vienkārši jautāt „kur tu esi?”, Un pārlūks strādā, lai piekļūtu GPS vai tuvumā esošajiem Wi-Fi tīkliem, lai atrastu jūsu fizisko atrašanās vietu.
Tomēr pārlūkprogrammas šo informāciju atklāj ar API, jo ir iespējams kontrolēt piekļuvi tai. Ja tīmekļa vietne vēlas piekļūt jūsu precīzai fiziskajai atrašanās vietai, vienīgais veids, kā viņi to var iegūt, ir, izmantojot atrašanās vietas API. Un, kad tīmekļa vietne mēģina to izmantot, jūs, lietotājs, varat izvēlēties atļaut vai noraidīt šo pieprasījumu. Vienīgais veids, kā piekļūt aparatūras resursiem, piemēram, GPS sensoram, ir API, tāpēc pārlūks var kontrolēt piekļuvi aparatūrai un ierobežot to, ko var lietot.
Šis pats princips tiek izmantots mūsdienu mobilajām operētājsistēmām, piemēram, iOS un Android, kur mobilajām lietotnē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, jūs varat atteikt atļaujas pieprasījumu un lietotnei nav iespējas piekļūt ierīces kamerai.
Failu sistēmām, kurās tiek izmantotas atļaujas, tāpat kā Windows, Mac un Linux, ir tās atļaujas, ko izpilda failu sistēmas API. Tipiskai lietojumprogrammai nav tiešas piekļuves neapstrādātam fiziskajam cietajam diskam. Tā vietā lietotnei ir jāpiekļūst failiem, izmantojot API.
API tiek izmantotas komunikācijai starp pakalpojumiem
API tiek izmantoti arī visu citu iemeslu dēļ. Piemēram, ja esat kādreiz redzējis tīmekļa vietnē ievietotu Google Maps objektu, šī vietne izmanto Google Maps API, lai ievietotu šo karti. Google tīmekļa vietnes izstrādātājiem rada šādas līdzīgas API, kas pēc tam var izmantot API, lai plopēt sarežģītus objektus tieši savā tīmekļa vietnē. Ja tādas API nav, izstrādātājiem var būt jāizveido savas kartes un jāsniedz savi kartes dati, lai tīmekļa vietnē ievietotu mazliet interaktīvu karti.
Tā kā tā ir API, Google var kontrolēt piekļuvi Google Maps trešo pušu tīmekļa vietnēs, nodrošinot, ka tās to izmanto konsekventi, nevis mēģina neticami ievietot rāmi, kas parāda Google Maps tīmekļa vietni..
Tas attiecas uz daudziem dažādiem tiešsaistes pakalpojumiem. Ir API, lai pieprasītu teksta tulkošanu no Google tulkotāja, vai ievietojot Facebook komentārus vai tweets no Twitter vietnē.
Standarts OAuth nosaka arī vairākas API, kas ļauj jums pierakstīties tīmekļa vietnē ar citu pakalpojumu, piemēram, lai izmantotu savus Facebook, Google vai Twitter kontus, lai pierakstītos jaunā tīmekļa vietnē, neradot jaunu lietotāja kontu tikai šai vietnei . API ir standarta līgumi, kas nosaka, kā izstrādātāji sazinās ar pakalpojumu, un kāda veida iznākums, ko šiem izstrādātājiem vajadzētu sagaidīt atpakaļ.
Ja esat to guvis, jums būs labāka priekšstata par to, kas ir API. Galu galā jums nav jāzina, kas ir API, ja vien neesat attīstītājs. Bet, ja redzat, ka programmatūras platforma vai pakalpojums ir pievienojis jaunas API dažādām aparatūrai vai pakalpojumiem, izstrādātājiem vajadzētu būt vieglāk izmantot šādas iespējas.
Attēla kredīts: patpitchaya / Shutterstock.com.