Ce este un API?
Probabil că ați văzut termenul "API". Sistemul de operare, browserul web și actualizările de aplicații anunță deseori API-uri noi pentru dezvoltatori. Dar ceea ce este un API?
interfața de programare a aplicației
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.
În mod similar, un API enumeră o mulțime 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 datele proprii 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 din ingredientele pe care bucătăria va lucra cu.
Dar este în mare măsură precisă. API-urile permit dezvoltatorilor să economisească timp profitând de implementarea unei platforme pentru a face munca clară. 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.
API-urile fac viața mai ușoară pentru dezvoltatori
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ă includeț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 la aparatul foto iPhone, nu este necesar să scrieți propria interfață a camerei. Utilizați camera API pentru a încorpora camera încorporată a iPhone-ului în aplicația dvs. Dacă API-urile nu existau pentru a face acest lucru ușor, dezvoltatorii de aplicații ar fi trebuit să creeze propriul software de cameră și să interpreteze intrările hardware ale camerei. Dar dezvoltatorii de sisteme de operare ai Apple au făcut toată această muncă grea, astfel încât dezvoltatorii să poată utiliza 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 este valabil pentru fiecare platformă. 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ă un API și 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 controlează accesul la resurse
API-urile sunt, de asemenea, folosite pentru a controla accesul la dispozitivele hardware și la funcțiile software pe care o aplicație nu le are neapărat permisiunea de a folosi. 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 browserul dvs. că site-ul solicită să vedeți locația exactă, site-ul respectiv încearcă să utilizeze API-ul de localizare în browserul dvs. Web. Navigatoarele pe Internet expun astfel de API-uri pentru a ușura accesul dezvoltatorilor web la locația dvs. - pot doar să întrebe "unde ești?" Și browserul face munca grea de a accesa rețelele GPS sau din apropiere Wi-Fi pentru a 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. Atunci când un site dorește accesul la locația dvs. fizică exactă, singura modalitate prin care poate fi obținută este prin API-ul de locație. Și atunci când un site încearcă să-l folosească, tu - utilizatorul - poți alege să permiți sau să respingi această solicitare. Singura modalitate de a accesa resurse hardware precum senzorul GPS este prin API, astfel încât browserul să poată controla accesul la hardware și să limiteze ceea ce aplicațiile pot face.
Același principiu este folosit și în sistemele de operare mobile moderne precum 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 utilizate pentru comunicarea între servicii
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, respectivul site utilizează API-ul Google Maps pentru a încorpora acea hartă. Google expune API-uri ca aceasta pentru dezvoltatorii web, care pot folosi 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 Hărți Google pe site-uri web ale unor terțe părți, asigurându-le că le utilizează într-un mod coerent, în loc să încerce să încorporeze în mod incorect un cadru care afișează site-ul Google Maps, de exemplu.
Acest lucru se aplică la multe servicii online diferite. Există API-uri pentru a solicita traducerea textului de la Google Translate sau pentru a încorpora comentarii pe Facebook sau tweet-uri 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 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.