Какво е API?

Вероятно сте виждали как се появява терминът „API“. Актуализациите на операционната система, уеб браузъра и приложенията често обявяват нови 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 често играят голяма роля в сигурността.

СВЪРЗАНИ: Как да спрем уебсайтовете да питат за вашето местоположение

Например, ако някога сте посещавали уебсайт и сте виждали съобщение в браузъра си, че уебсайтът иска да види точното ви местоположение, този уебсайт се опитва да използва API за геолокация във вашия браузър. Уеб браузърите излагат API като този, за да улеснят уеб разработчиците да получат достъп до вашето местоположение - те могат просто да попитат „къде си?“ и браузърът работи усилено по достъпа до GPS или близките Wi-Fi мрежи, за да намери вашето физическо местоположение.

Браузърите обаче излагат тази информация и чрез API, защото е възможно да се контролира достъпът до нея. Когато даден уебсайт иска достъп до точното ви физическо местоположение, единственият начин да го получат е чрез API за местоположение. И когато уебсайт се опита да го използва, вие - потребителят - можете да изберете да разрешите или откажете тази заявка. Единственият начин за достъп до хардуерни ресурси като GPS сензора е чрез API, така че браузърът може да контролира достъпа до хардуера и да ограничава възможностите на приложенията.

Същият принцип се използва в съвременните мобилни операционни системи като iOS и Android, където мобилните приложения имат разрешения, които могат да бъдат наложени чрез контролиране на достъпа до API. Например, ако разработчик се опита да осъществи достъп до камерата чрез API на камерата, можете да откажете заявката за разрешение и приложението няма начин за достъп до камерата на вашето устройство.

Файловите системи, които използват разрешения - както при Windows, Mac и Linux - имат тези разрешения, налагани от API на файловата система. Типично приложение няма пряк достъп до суровия физически твърд диск. Вместо това приложението трябва да осъществява достъп до файлове чрез API.

API се използват за комуникация между услугите

API се използват и по всякакви други причини. Например, ако някога сте виждали обект на Google Maps, вграден в уебсайт, този уебсайт използва API на Google Maps за вграждане на тази карта. Google излага API като този на уеб разработчици, които след това могат да използват API, за да поставят сложни обекти направо на техния уебсайт. Ако API като този не съществуват, може да се наложи разработчиците да създадат свои собствени карти и да предоставят свои собствени картографски данни, само за да поставят малко интерактивна карта на уебсайт.

И тъй като това е API, Google може да контролира достъпа до Google Maps на уебсайтове на трети страни, като гарантира, че те го използват по последователен начин, вместо да се опитва да вгради неправилно рамка, която показва уебсайта на Google Maps, например.

Това се отнася за много различни онлайн услуги. Има API за заявяване на превод на текст от Google Translate или за вграждане на коментари или туитове във Facebook от Twitter в уебсайт.

СВЪРЗАНИ: Какво е OAuth? Как работят тези бутони за влизане във Facebook, Twitter и Google

Стандартът OAuth също така определя редица API, които ви позволяват да влезете в уебсайт с друга услуга - например да използвате акаунтите си във Facebook, Google или Twitter, за да влезете в нов уебсайт, без да създавате нов потребителски акаунт само за този сайт. . Приложните програмни интерфейси (API) са стандартни договори, които определят как разработчиците комуникират с дадена услуга и вида продукция, която тези разработчици трябва да очакват да получат обратно.

Ако сте преминали през това, ще имате по-добра представа какво представлява API. В крайна сметка не е нужно наистина да знаете какво представлява API, освен ако не сте разработчик. Но ако видите, че софтуерна платформа или услуга са добавили нови API за различен хардуер или услуги, за разработчиците трябва да е по-лесно да се възползват от такива функции.

Кредит за изображение: patpitchaya / Shutterstock.com.