Probabil că ați văzut termenul "API". Sistemul de operare, browserul web și actualizările aplicațiilor anunță de multe ori noi API-uri pentru dezvoltatori. Dar ce este un API?
Termenul API este un acronim și reprezintă "Interfața de programare a aplicațiilor".
Gândiți-vă la un API ca la un meniu într-un restaurant. Meniul oferă o listă de feluri de mâncare pe care le puteți comanda, împreună cu o descriere a fiecărui fel de mâncare. Când specificați ce elemente de meniu doriți, bucătăria restaurantului face lucrul și vă oferă niște feluri de mâncare finite. Nu știți exact cum restaurantul pregătește mâncarea și nu aveți nevoie de asta.
În mod similar, un API enumeră o grămadă de operații pe care dezvoltatorii le pot utiliza, împreună cu o descriere a ceea ce fac. Dezvoltatorul nu trebuie neapărat să știe cum, de exemplu, un sistem de operare construiește și prezintă o casetă de dialog "Salvați ca". Trebuie doar să știe că este disponibil pentru utilizare în aplicația lor.
Aceasta nu este o metaforă perfectă, deoarece dezvoltatorii ar putea fi nevoiți să furnizeze propriile date API-ului pentru a obține rezultatele, așa că poate este mai mult ca un restaurant fantezist unde puteți să oferiți câteva dintre propriile ingrediente cu care va lucra bucătăria.
Dar este în mare măsură precisă. API-urile permit dezvoltatorilor să economisească timp, profitând de implementarea unei platforme pentru a realiza o muncă dificilă. Acest lucru ajută la reducerea cantității de dezvoltatori de cod care trebuie create și, de asemenea, ajută la crearea unei mai mari coerențe între aplicații pentru aceeași platformă. API-urile pot controla accesul la resurse hardware și software.
Să presupunem că doriți să dezvoltați o aplicație pentru iPhone. Sistemul de operare iOS de la Apple oferă un număr mare de API - ca și celelalte sisteme de operare - pentru a face acest lucru mai ușor pentru dvs.
Dacă doriți să încorporați un browser web pentru a afișa una sau mai multe pagini web, de exemplu, nu trebuie să programați propriul browser web de la zero doar pentru aplicația dvs. Utilizați API-ul WKWebView pentru a încorpora un obiect de browser WebKit (Safari) în aplicația dvs.
Dacă doriți să capturați fotografii sau videoclipuri de pe aparatul foto iPhone, nu este necesar să scrieți propria interfață a camerei. Utilizați API-ul camerei pentru a încorpora camera încorporată a iPhone-ului în aplicația dvs. Dacă API-urile nu există pentru a face acest lucru ușor, dezvoltatorii de aplicații ar trebui să-și creeze propriul software de cameră și să interpreteze intrările hardware ale camerei. Dar dezvoltatorii sistemului de operare ai Apple au făcut toată această muncă grea, astfel încât dezvoltatorii să poată folosi API-ul pentru a încorpora o cameră și apoi să-și construiască aplicația. Și, atunci când Apple îmbunătățește API-ul camerei, toate aplicațiile care se bazează pe aceasta vor beneficia automat de această îmbunătățire.
Acest lucru se aplică fiecărei platforme. De exemplu, doriți să creați o casetă de dialog pe Windows? Există un API pentru asta. Doriți să sprijiniți autentificarea cu amprentă digitală pe Android? Există și un API pentru acest lucru, astfel încât să nu trebuie să testați fiecare senzor de amprentă diferit al producătorului Android. Dezvoltatorii nu trebuie să reinventeze roata din nou și din nou.
API-urile sunt, de asemenea, folosite pentru a controla accesul la dispozitivele hardware și funcțiile software pe care o aplicație nu le are neapărat permisiunea de a utiliza. De aceea, API joacă adesea un rol important în securitate.
De exemplu, dacă ați vizitat vreodată un site Web și ați văzut un mesaj în browser-ul dvs. că site-ul solicită să vă vadă locația exactă, acel site încearcă să utilizeze API-ul de localizare în browser-ul dvs. web. Navigatoarele pe Internet expun astfel de API-uri pentru a ușura accesul dezvoltatorilor web la locația dvs. - pot întreba doar "unde vă aflați?" Și browserul face munca grea de a accesa rețelele GPS sau Wi-Fi din apropiere pentru a vă găsi locația fizică.
Cu toate acestea, browserele expun și aceste informații printr-un API, deoarece este posibil să controlați accesul la acesta. Când un site dorește acces la locația dvs. fizică exactă, singura modalitate prin care poate fi obținută este prin API-ul de locație. Și când un site încearcă să-l folosească, tu - utilizatorul - poți alege să permiți sau să refuzi această solicitare. Singura modalitate de a accesa resursele hardware precum senzorul GPS este prin API, astfel că browserul poate controla accesul la hardware și poate limita ce aplicații poate face.
Același principiu este utilizat și în sistemele de operare mobile moderne, cum ar fi iOS și Android, în care aplicațiile mobile au permisiuni care pot fi impuse prin controlul accesului la API-uri. De exemplu, dacă un dezvoltator încearcă să acceseze camera prin API-ul camerei, puteți respinge cererea de permisiune și aplicația nu are acces la camera aparatului foto.
Sistemele de fișiere care utilizează permisiunile - la fel ca în Windows, Mac și Linux - au acele permisiuni impuse de API-ul sistemului de fișiere. O aplicație tipică nu are acces direct la hard diskul fizic brut. În schimb, aplicația trebuie să acceseze fișiere printr-un API.
API-urile sunt folosite de tot felul de alte motive. De exemplu, dacă ați văzut vreodată un obiect Google Maps încorporat pe un site Web, acel site utilizează API-ul Google Maps pentru a încorpora acea hartă. Google expune API-uri ca aceasta pentru dezvoltatorii web, care apoi pot utiliza API-urile pentru a construi obiecte complexe chiar pe site-ul lor. Dacă astfel de API-uri nu există, dezvoltatorii ar putea să-și creeze propriile hărți și să furnizeze propriile date de hartă doar pentru a pune o mică hartă interactivă pe un site web.
Și pentru că este un API, Google poate controla accesul la Google Maps pe site-uri web ale unor terțe părți, asigurându-le că o utilizează într-un mod coerent, în loc să încerce să încorporeze în mod incorect un cadru care să afișeze site-ul Google Maps, de exemplu.
Acest lucru este valabil pentru multe servicii online diferite. Există API-uri pentru solicitarea traducerii de text de la Google Traducere sau încorporarea comentariilor Facebook sau tweet-urilor de pe Twitter pe un site Web.
De asemenea, standardul OAuth definește un număr de API-uri care vă permit să vă conectați la un site web cu un alt serviciu - de exemplu, să utilizați conturile dvs. Facebook, Google sau Twitter pentru a vă conecta la un nou site fără a crea un nou cont de utilizator doar pentru acel site . API-urile sunt contracte standard care definesc modul în care dezvoltatorii comunică cu un serviciu și genul de ieșire pe care dezvoltatorii ar trebui să-l aștepte să-l primească înapoi.
Dacă ați reușit acest lucru, veți avea o idee mai bună despre ceea ce este un API. În cele din urmă, nu trebuie să știți cu adevărat ce este un API decât dacă sunteți dezvoltator. Dar, dacă vedeți o platformă software sau un serviciu care a adăugat noi API-uri pentru diferite tipuri de hardware sau servicii, ar trebui să fie mai ușor pentru dezvoltatori să profite de astfel de caracteristici.
Credit de imagine: patpitchaya / Shutterstock.com.