Ano ang isang API?
Malamang nakita mo ang terminong "API" na lumabas. Ang operating system, web browser, at mga update sa app ay madalas na nag-anunsyo ng mga bagong API para sa mga developer. Ngunit ano ang isang API?
Application Programming Interface
Ang term na API ay isang akronim, at ito ay nangangahulugang "Application Programming Interface."
Mag-isip ng isang API tulad ng isang menu sa isang restawran. Nagbibigay ang menu ng isang listahan ng mga pinggan na maaari mong mag-order, kasama ang isang paglalarawan ng bawat pinggan. Kapag tinukoy mo kung anong mga item sa menu ang gusto mo, gumagana ang kusina ng restawran at bibigyan ka ng ilang mga natapos na pinggan. Hindi mo alam eksakto kung paano ihinahanda ng restawran ang pagkaing iyon, at hindi mo talaga kailangan.
Katulad nito, naglilista ang isang API ng isang bungkos ng mga pagpapatakbo na maaaring magamit ng mga developer, kasama ang isang paglalarawan ng kung ano ang ginagawa nila. Hindi kinakailangang malaman ng developer kung paano, halimbawa, ang isang operating system na bumubuo at nagpapakita ng isang kahon ng dayalogo na "I-save Bilang". Kailangan lang nilang malaman na magagamit ito para magamit sa kanilang app.
Hindi ito isang perpektong talinghaga, dahil maaaring magbigay ang mga developer ng kanilang sariling data sa API upang makuha ang mga resulta, kaya marahil ay mas katulad ito ng isang magarbong restawran kung saan maaari kang magbigay ng ilan sa iyong sariling mga sangkap na gagana sa kusina.
Ngunit malawak itong tumpak. Pinapayagan ng mga API ang mga developer na makatipid ng oras sa pamamagitan ng pagsasamantala sa pagpapatupad ng isang platform upang gawin ang nitty-gritty na gawain. Nakakatulong ito na mabawasan ang dami ng mga developer ng code na kailangang lumikha, at makakatulong din itong lumikha ng higit na pagkakapare-pareho sa mga app para sa parehong platform. Maaaring makontrol ng mga API ang pag-access sa mga mapagkukunan ng hardware at software.
Ginagawang Mas Madali ng Mga API para sa Mga Nag-develop
Sabihin nating nais mong bumuo ng isang app para sa isang iPhone. Nagbibigay ang operating system ng iOS ng Apple ng isang malaking bilang ng mga API-tulad ng ginagawa ng bawat iba pang operating system-upang gawing mas madali ito sa iyo.
Kung nais mong mag-embed ng isang web browser upang maipakita ang isa o higit pang mga web page, halimbawa, hindi mo kailangang iprograma ang iyong sariling web browser mula sa simula lamang para sa iyong aplikasyon. Ginagamit mo ang WKWebView API upang mag-embed ng isang object ng browser ng WebKit (Safari) sa iyong aplikasyon.
Kung nais mong kumuha ng mga larawan o video mula sa camera ng iPhone, hindi mo kailangang magsulat ng iyong sariling interface ng camera. Ginagamit mo ang camera API upang i-embed ang built-in na camera ng iPhone sa iyong app. Kung walang mga API upang gawing madali ito, ang mga developer ng app ay kailangang lumikha ng kanilang sariling software ng camera at bigyang kahulugan ang mga input ng hardware ng camera. Ngunit nagawa ng mga tagabuo ng operating system ng Apple ang lahat ng pagsusumikap na ito upang magamit lamang ng mga developer ang camera API upang mag-embed ng isang camera, at pagkatapos ay magpatuloy sa pagbuo ng kanilang app. At, kapag pinagbuti ng Apple ang camera API, lahat ng mga app na umaasa dito ay awtomatikong masasamantala ang pagpapabuti na iyon.
Nalalapat ito sa bawat platform. Halimbawa, nais mo bang lumikha ng isang dialog box sa Windows? Mayroong isang API para doon. Nais bang suportahan ang pagpapatotoo ng fingerprint sa Android? Mayroon ding isang API para doon, kaya't hindi mo kailangang subukan ang bawat iba't ibang sensor ng fingerprint ng tagagawa ng Android. Hindi kailangang muling likhain ng mga developer ang paulit-ulit na gulong.
Kinokontrol ng mga API ang Pag-access sa Mga Mapagkukunan
Ginagamit din ang mga API upang makontrol ang pag-access sa mga hardware device at pag-andar ng software na maaaring hindi kinakailangang may pahintulot na magamit ang isang application. Iyon ang dahilan kung bakit ang mga API ay madalas na may malaking papel sa seguridad.
KAUGNAYAN:Paano Ititigil ang Mga Website Sa Paghingi Para sa Iyong Lokasyon
Halimbawa, kung nabisita mo na ang isang website at nakakita ng isang mensahe sa iyong browser na hinihiling ng website na makita ang iyong tumpak na lokasyon, sinusubukan ng website na gamitin ang geolocation API sa iyong web browser. Inilantad ng mga web browser ang mga API na tulad nito upang gawing madali para sa mga web developer na i-access ang iyong lokasyon — maaari lamang nilang tanungin kung “nasaan ka?” at ang browser ay gumagawa ng pagsusumikap sa pag-access sa GPS o kalapit na mga Wi-Fi network upang mahanap ang iyong pisikal na lokasyon.
Gayunpaman, inilalantad din ng mga browser ang impormasyong ito sa pamamagitan ng isang API dahil posible na kontrolin ang pag-access dito. Kapag nais ng isang website ang pag-access sa iyong eksaktong pisikal na lokasyon, ang tanging paraan na makukuha nila ito ay sa pamamagitan ng lokasyon ng API. At, kapag sinubukan ng isang website na gamitin ito, ikaw — ang gumagamit — ay maaaring pumili na payagan o tanggihan ang kahilingang ito. Ang tanging paraan lamang upang ma-access ang mga mapagkukunan ng hardware tulad ng sensor ng GPS ay sa pamamagitan ng API, upang makontrol ng browser ang pag-access sa hardware at limitahan kung ano ang magagawa ng mga app.
Ang parehong prinsipyong ito ay ginagamit sa mga modernong operating system ng mobile tulad ng iOS at Android, kung saan ang mga mobile app ay may mga pahintulot na maaaring ipatupad sa pamamagitan ng pagkontrol sa pag-access sa mga API. Halimbawa, kung susubukan ng isang developer na i-access ang camera sa pamamagitan ng camera API, maaari mong tanggihan ang kahilingan sa pahintulot at ang app ay walang paraan upang ma-access ang camera ng iyong aparato.
Ang mga file system na gumagamit ng mga pahintulot — tulad ng ginagawa nila sa Windows, Mac, at Linux — ay pinatupad ng mga file system API. Ang isang tipikal na application ay walang direktang pag-access sa hilaw na pisikal na hard disk. Sa halip, dapat mag-access ang app ng mga file sa pamamagitan ng isang API.
Ginagamit ang mga API Para sa Komunikasyon sa Pagitan ng Mga Serbisyo
Ginagamit ang mga API para sa lahat ng uri ng iba pang mga kadahilanan. Halimbawa, kung nakakita ka ba ng isang bagay na Google Maps na naka-embed sa isang website, ang website na iyon ay gumagamit ng Google Maps API upang mai-embed ang map na iyon. Inilantad ng Google ang mga API na tulad nito sa mga web developer, na maaaring magamit ang mga API upang mag-plop ng mga kumplikadong bagay sa kanilang website. Kung wala ang mga API na ito, maaaring lumikha ang mga developer ng kanilang sariling mga mapa at magbigay ng kanilang sariling data ng mapa upang mailagay lamang ang isang maliit na interactive na mapa sa isang website.
At, dahil ito ay isang API, makokontrol ng Google ang pag-access sa Google Maps sa mga third-party na website, na tinitiyak na ginagamit nila ito sa isang pare-pareho na paraan sa halip na subukang mag-embed ng maling frame na nagpapakita ng website ng Google Maps, halimbawa.
Nalalapat ito sa maraming iba't ibang mga serbisyong online. Mayroong mga API para sa paghiling ng pagsasalin ng teksto mula sa Google Translate, o pag-embed ng mga komento o tweet sa Facebook mula sa Twitter sa isang website.
KAUGNAYAN:Ano ang OAuth? Paano Gumagana ang Mga Facebook, Twitter, at Google Button na Mag-sign in
Tinutukoy din ng pamantayang OAuth ang isang bilang ng mga API na nagbibigay-daan sa iyo upang mag-sign in sa isang website na may ibang serbisyo — halimbawa, upang magamit ang iyong mga Facebook, Google, o Twitter account upang mag-sign in sa isang bagong website nang hindi lumilikha ng isang bagong account ng gumagamit para lamang sa site na iyon . Ang mga API ay karaniwang mga kontrata na tumutukoy kung paano nakikipag-usap ang mga developer sa isang serbisyo, at ang uri ng output na dapat asahan ng mga developer na makatanggap muli.
Kung nalampasan mo ito, magkakaroon ka ng mas mahusay na ideya kung ano ang isang API. Sa huli, hindi mo talaga kailangang malaman kung ano ang isang API maliban kung ikaw ay isang developer. Ngunit, kung nakakita ka ng isang software platform o serbisyo ay nagdagdag ng mga bagong API para sa iba't ibang mga hardware o serbisyo, dapat na mas madali para sa mga developer na samantalahin ang mga naturang tampok.
Credit sa Larawan: patpitchaya / Shutterstock.com.