Вероятно сте виждали израза "API". Операционната система, уеб браузърът и актуализациите на приложения често обявяват нови API за разработчиците. Но какво представлява API?
Терминът API е съкращение и означава "интерфейс за програмиране на приложения".
Помислете за API като меню в ресторант. Менюто съдържа списък с ястия, които можете да поръчате, заедно с описание на всяко ястие. Когато зададете какви елементи от менюто искате, кухнята на ресторанта върши работата и ви осигурява готови ястия. Не знаете точно как ресторантът подготвя тази храна и всъщност не е нужно.
По същия начин, API изброява съвкупност от операции, които разработчиците могат да използват, заедно с описание на това, което правят. Разработчикът не е необходимо да знае как, например, една операционна система изгражда и представя диалогов прозорец "Запиши като". Те просто трябва да знаят, че те са достъпни за употреба в приложението им.
Това не е перфектна метафора, тъй като разработчиците може да са длъжни да предоставят на API свои данни, за да получат резултатите, така че може би е по-скоро като фантастичен ресторант, където можете да предоставите някои от вашите собствени съставки, с които кухнята ще работи.
Но е съвсем точна. Приложните програмни интерфейси (API) позволяват на разработчиците да спестят време, като се възползват от внедряването на платформата, за да направят трудната работа. Това помага да се намали размерът на разработчиците на кодове, които трябва да се създадат, а също така помага да се създаде по-голяма последователност между различните приложения за същата платформа. API могат да контролират достъпа до хардуерни и софтуерни ресурси.
Да приемем, че искате да разработите приложение за iPhone. Операционната система на iOS на Apple предоставя голям брой API - както всяка друга операционна система - за да ви помогне по-лесно.
Ако искате да вградите уеб браузър, за да показвате една или повече уеб страници, например, не е нужно да програмирате своя уеб браузър от самото начало само за вашата кандидатура. Използвате API на WKWebView, за да вградите обект на браузър WebKit (Safari) във вашето приложение.
Ако искате да заснемате снимки или видео от камерата на iPhone, не е необходимо да пишете свой интерфейс на камерата. Използвате приложния програмен интерфейс (API) на камерата, за да вградите вградената в iPhone камера в приложението си. Ако приложенията за приложния програмен интерфейс (API) не съществуват, за да се улесни това, разработчиците на приложения трябва да създадат собствен софтуер за камерата и да интерпретират входа на хардуера на камерата. Но разработчиците на операционната система на Apple са направили цялата си упорита работа, така че разработчиците могат просто да използват API на камерата, за да вградят камера, а след това да се захванат с изграждането на приложението си. А когато Apple подобри приложния програмен интерфейс (API) на камерата, всички приложения, които разчитат на него, ще се възползват автоматично от това подобрение.
Това важи за всяка платформа. Например, искате ли да създадете диалогов прозорец в Windows? Има API за това. Искате ли да поддържате удостоверяване с пръстови отпечатъци на Android? Има и API за това, така че не е нужно да тествате всеки сензор за пръстови отпечатъци на производителя на Android. Разработчиците не трябва да преоткриват колелото отново и отново.
Приложните програмни интерфейси (API) също се използват за контрол на достъпа до хардуерни устройства и софтуерни функции, които дадена молба не е задължително да има разрешение за използване. Ето защо API често играят голяма роля в сигурността.
Например, ако някога сте посетили уебсайт и сте видели съобщение в браузъра си, че сайтът иска да види точното ви местоположение, този уеб сайт се опитва да използва приложния програмен интерфейс (API) за геолокация в уеб браузъра ви. Уеб браузърите разкриват такива приложни програмни интерфейси, за да улеснят уеб програмистите да имат достъп до местоположението ви. Те могат просто да ви попитат "къде си?" И браузърът се занимава с трудната работа с GPS или близките Wi-Fi мрежи, за да открие физическото ви местоположение.
Браузърите обаче излагат тази информация и чрез API, защото е възможно да контролирате достъпа до нея. Когато уебсайт иска достъп до точното ви физическо местоположение, единственият начин да го получи е чрез приложния програмен интерфейс (API) за местоположението. И когато уебсайтът се опита да го използва, вие - потребителят - можете да изберете да разрешите или да отхвърлите това искане. Единственият начин за достъп до хардуерни ресурси като GPS сензора е чрез приложния програмен интерфейс (API), така че браузърът да може да контролира достъпа до хардуера и да ограничава какви приложения могат да направят.
Същият принцип се използва и за съвременните мобилни операционни системи като iOS и Android, където мобилните приложения имат разрешения, които могат да бъдат наложени чрез контролиране на достъпа до API. Ако например програмист се опита да влезе в камерата чрез приложния програмен интерфейс (API) на камерата, можете да откажете заявката за разрешение и приложението няма начин да получите достъп до камерата на устройството си.
Файлови системи, които използват разрешения - както в Windows, Mac и Linux - имат тези права, наложени от API на файловата система. Типичното приложение няма директен достъп до суровия физически твърд диск. Вместо това приложението трябва да има достъп до файлове чрез приложния програмен интерфейс (API).
API се използват и за всякакви други причини. Например, ако някога сте виждали обект на Google Карти, вграден в уебсайт, той използва приложния програмен интерфейс (API) на Google Карти, за да вгради тази карта. Google излага приложни програмни интерфейси като този на уеб програмисти, които след това могат да използват приложните програмни интерфейси (API), за да образуват сложни обекти точно на уебсайта си. Ако API като този не съществува, разработчиците може да са длъжни да създадат свои собствени карти и да предоставят свои собствени карти, само за да поставят малко интерактивна карта на уебсайт.
И тъй като това е API, Google може да контролира достъпа до Google Карти на уебсайтове на трети страни, като гарантира, че те я използват по последователен начин, вместо да се опитват да внедрят погрешно рамка, която показва уебсайта на Google Карти, например.
Това важи за много различни онлайн услуги. Има API за заявяване на текстов превод от Google Преводач или за вграждане на коментари или tweets от Twitter в уебсайт.
Стандартът OAuth също така определя определен брой приложни програмни интерфейси (API), които ви позволяват да влезете в уебсайт с друга услуга - например да използвате профилите си в Facebook, Google или Twitter, за да влезете в нов уебсайт, без да създавате нов потребителски профил само за този сайт , Приложните програмни интерфейси (API) са стандартни договори, които определят как разработчиците комуникират с дадена услуга и вида продукция, която разработчиците трябва да очакват да получат обратно.
Ако сте се справили с това, ще имате по-добра представа за това какво е API. В крайна сметка, всъщност не е нужно да знаете какво представлява API, освен ако не сте програмист. Но ако видите софтуерна платформа или услуга добави нови приложни програмни интерфейси (API) за различни хардуерни услуги или услуги, за разработчиците е по-лесно да се възползват от такива функции.
Image Credit: patpitchaya / Shutterstock.com.