Почетна » како да » Шта је АПИ?

    Шта је АПИ?

    Вероватно сте видели термин "АПИ". Оперативни систем, веб претраживач и ажурирања апликација често објављују нове АПИ-је за програмере. Али шта је АПИ?

    Апплицатион Программинг Интерфаце

    Термин АПИ је скраћеница, и представља “Апплицатион Программинг Интерфаце”.

    Замислите АПИ као мени у ресторану. Мени нуди листу јела које можете наручити, заједно са описом сваког јела. Када одредите које ставке менија желите, кухиња ресторана обавља посао и обезбеђује вам нека готова јела. Не знаш тачно како ресторан припрема ту храну, а ти то не треба.

    Слично томе, АПИ наводи групу операција које програмери могу да користе, заједно са описом онога што раде. Програмер не мора да зна како, на пример, оперативни систем гради и приказује дијалог "Саве Ас". Они само треба да знају да је доступна за употребу у њиховој апликацији.

    Ово није савршена метафора, јер ће програмери можда морати да дају своје податке АПИ-ју да би добили резултате, тако да је можда више као отмјени ресторан у којем можете понудити неке од својих састојака, а кухиња ће радити са.

    Али то је углавном тачно. АПИ-ји дозвољавају програмерима да уштеде време користећи предности имплементације платформе да би обавили гњусни посао. То помаже да се смањи количина кода коју програмери треба да креирају, а такође помаже у креирању више конзистентности у апликацијама за исту платформу. АПИ-ји могу контролисати приступ хардверским и софтверским ресурсима.

    АПИ-ји олакшавају живот програмерима

    Рецимо да желите да развијете апликацију за иПхоне. Апплеов иОС оперативни систем обезбеђује велики број АПИ-ја - као и сваки други оперативни систем - како би вам то олакшао.

    Ако желите да уградите веб прегледач да бисте приказали једну или више Веб страница, на пример, не морате да програмирате свој сопствени веб прегледач само за вашу апликацију. Помоћу АПИ-ја ВКВебВиев уграђујете ВебКит (Сафари) објекат претраживача у вашу апликацију.

    Ако желите да снимите фотографије или видео снимке са фотоапарата иПхоне уређаја, не морате да пишете сопствени интерфејс камере. Помоћу АПИ камере уграђујете уграђену камеру иПхоне-а у апликацију. Ако АПИ-ји не постоје да би ово било лако, програмери апликација би морали да направе сопствени софтвер камере и да интерпретирају улазе хардвера камере. Међутим, Апплеови програмери оперативног система су урадили сав овај напоран рад како би програмери могли само да користе АПИ камере да би уградили камеру, а затим наставили са изградњом своје апликације. А када Аппле побољша АПИ камере, све апликације које се ослањају на њега ће аутоматски искористити предности тог побољшања.

    Ово се односи на сваку платформу. На пример, да ли желите да направите оквир за дијалог у оперативном систему Виндовс? Постоји АПИ за то. Желите ли подржати провјеру аутентичности отиска прста на Андроиду? Ту је и АПИ за то, тако да не морате тестирати сензор отиска прста сваког другог Андроид произвођача. Програмери не морају поново изумити точак.

    АПИ-ји контролишу приступ ресурсима

    АПИ-ји се такође користе за контролу приступа хардверским уређајима и софтверским функцијама које апликација не мора нужно имати дозволу за употребу. Зато АПИ-ји често играју велику улогу у сигурности.

    На примјер, ако сте икада посјетили веб-локацију и видјели поруку у прегледнику да веб-локација тражи да видите вашу прецизну локацију, та веб-локација покушава користити АПИ геолокације у вашем веб-прегледнику. Веб прегледачи откривају овакве АПИ-је како би вам веб-програмери лакше приступили вашој локацији - они могу само да питају "где сте?".

    Међутим, претраживачи такође откривају ове информације преко АПИ-ја јер је могуће контролисати приступ до њих. Када веб локација жели приступ вашој тачној физичкој локацији, једини начин да је добију је АПИ локације. А када веб локација покуша да је употреби, ви-корисник-можете одабрати да дозволите или одбијете овај захтев. Једини начин да приступите хардверским ресурсима као што је ГПС сензор је преко АПИ-ја, тако да претраживач може да контролише приступ хардверу и ограничи апликације које могу да раде.

    Исти принцип се користи у модерним мобилним оперативним системима као што су иОС и Андроид, где мобилне апликације имају дозволе које се могу применити контролисањем приступа АПИ-јевима. На пример, ако програмер покуша да приступи камери преко АПИ камере, можете да одбијете захтев за дозволу и апликација нема начина да приступи камери уређаја.

    Системи датотека који користе дозволе - као што то раде у Виндовсима, Мац и Линук-у - имају дозволе које примењује АПИ система датотека. Типична апликација нема директан приступ сировом физичком чврстом диску. Уместо тога, апликација мора приступити датотекама преко АПИ-ја.

    АПИ-ји се користе за комуникацију између услуга

    АПИ-ји се користе и за све друге разлоге. На пример, ако сте икада видели објекат Гоогле мапа уграђен на веб-сајт, та веб локација користи АПИ за Гоогле мапе да угради ту мапу. Гоогле излаже АПИ-е попут ових веб програмерима, који затим могу да користе АПИ-јеве за скупљање сложених објеката на свом веб сајту. Ако АПИ-ји као што је овај нису постојали, програмери би могли да креирају сопствене мапе и да обезбеде своје мапе само да би поставили малу интерактивну мапу на веб-сајт.

    Пошто је то АПИ, Гоогле може да контролише приступ Гоогле мапама на веб сајтовима трећих страна, обезбеђујући да га користе на доследан начин, а не покушавају да уграђују оквир који приказује веб локацију Гоогле мапа, на пример.

    Ово се односи на многе различите онлине услуге. Постоје АПИ-ји за захтевање превода текста са Гоогле преводиоца или уградњу Фацебоок коментара или твеетова са Твиттер-а на веб-сајт.

    ОАутх стандард такође дефинише бројне АПИ-је који вам омогућавају да се пријавите на веб-сајт са другом услугом - на пример, да користите своје Фацебоок, Гоогле или Твиттер налоге за пријављивање на нови веб сајт без креирања новог корисничког налога само за тај сајт . АПИ-ји су стандардни уговори који дефинишу начин на који програмери комуницирају са услугом, и врста излазних података које би програмери требали очекивати да ће добити натраг.


    Ако сте прошли кроз ово, имаћете бољу идеју о томе шта је АПИ. На крају крајева, не треба да знате шта је АПИ, осим ако нисте програмер. Али, ако видите да је софтверска платформа или услуга додала нове АПИ-је за различити хардвер или услуге, програмерима би требало да буде лакше да искористе такве функције.

    Кредит за слике: патпитцхаиа / Схуттерстоцк.цом.