HDG обяснява: Какво е API?

В интернет, пълен с объркващи и непознати акроними(confusing and unfamiliar acronyms) , може лесно да се объркате. Един уеб акроним, който може би сте чували, но никога не сте се чувствали вдъхновени да разгледате, е „API“.

Какво е API ? API е акроним за интерфейс за програмиране( application programming interface) на приложения и е име за набор от рутинни процедури и протоколи, които правят процеса на изграждане на софтуерни приложения много по-лесен.

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

API(APIs) обаче са сложни и изискват повече от кратко обобщение. В тази статия нека разгледаме как работят API(APIs) и кои сайтове и услуги ги използват.

Какво е API и как работи?(What Is An API and How Does It Work?)

След като установихме, че API е набор от рутинни програми, които насочват софтуера в правилната посока, как точно работи всичко това?

Най-добрият начин да се обясни основната функционалност на API е да се предостави пример от реалния свят. Услугите за доставка на храна(Food) , като GrubHub , са невероятно популярни в момента, така че нека обсъдим как може да работи кодът зад мобилни приложения като тези.

Когато търсите ресторант или храна в едно от тези приложения, получавате подходящи резултати въз основа на вашите ключови думи и местоположение. След като изберете резултат, ще ви бъдат представени опции за хранителни продукти, времена за доставка и още опции, специфични за ресторанта.

За да планирате доставката си, трябва да се осъществи връзка между уебсайта за доставка и база данни – уебсайтът е фронтенд, а базата данни е бекенд. Базата данни е това, което съхранява данните за всички тези ресторанти, тяхната наличност по местоположение, график на работа, менюта и др.

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

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

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

Какви видове API има?(What Types Of APIs Are There?)

Има множество различни типове API протоколи, но трите най-популярни са SOAP ( Протокол за достъп до прост обект(Simple Object Access Protocol) ), REST ( Прехвърляне на представително състояние(Representational State Transfer) ) и RPC ( Отдалечено извикване на процедура(Remote Procedure Call) ).

SOAP API(SOAP APIs)

SOAP беше въведен за първи път в края на 90-те години и даде възможност на приложенията да споделят ресурси по прост начин чрез използване на мрежови връзки. SOAP разчита на стандартни протоколи, като HTTP и SMTP , които му позволяват да се използва в практически всяка среда поради популярността на тези протоколи.

Основната му сила е, че е широко използван и утвърден. Ако не е счупен, не го поправяйте.

REST API(REST APIs)

REST е въведен през 2000 г. от Рой Филдинг(Roy Fielding) . Неговата непосредствена цел беше да действа като отговор на много от проблемите, създадени от широкото приемане на SOAP .

Подобно на SOAP , REST разчита на HTTP за прехвърляне на информация между приложения. Въпреки това, една основна разлика, която го отличава от SOAP , който изисква данните да се предават чрез XML формат на данни, е, че поддържа JSON . JSON е формат на данни, за който мнозина са съгласни, че е по-лесен за четене и писане. Освен това REST API(REST APIs) могат да кешират данни, което позволява много по-добра производителност.

REST вече представлява повече от 80% от всички API(APIs) , според доклад на Cloud Elements от 2017 г.

RPC API(RPC APIs)

RPC API(RPC APIs) се предлагат в много разновидности, но както научихме от REST API(REST APIs) , JSON е много популярен формат за данни, така че JSON-RPC е най-популярен.

JSON-RPC е протокол, най-подходящ за минималисти и потребители, които разчитат на простотата на техния API . Неговият обхват е много по-тесен в сравнение със SOAP и REST и е много ограничен в своята гъвкавост и набор от команди, но за някои разработчици по-малкото е повече.

Има и други базирани на RPC типове API , като gRPC, но JSON-RPC е най-добрият, ако вашият приоритет е простотата на внедряване.

Кой използва API?(Who Uses APIs?)

Разработчиците от всякакъв вид, било то фронтенд или бекенд, трябва да имат опит в работата с API(APIs) . По отношение на уебсайтове или уеб услуги, на практика всички основни играчи имат някакъв наличен API - най-очевидният е Windows .

Тъй като Microsoft Windows е най-популярната операционна система на планетата, съвсем естествено е, че разработчиците на приложения ще се нуждаят от набор от насоки за това как да взаимодействат с нейния потребителски интерфейс. Без достъп до API на Windows(Windows API) , програмирането на приложение, което разчита в голяма степен на взаимодействие с операционната система, би било голямо главоболие.

Има хиляди API(APIs) , някои безплатни, други платени. Ето само няколко примера, които си струва да разгледате:

API(APIs) са един от ключовите конектори зад някои от най-големите и важни уеб сайтове и приложения в мрежата. Въпреки че обикновеният потребител може да не е в състояние да види ползата, която API(APIs) предоставят, те са находка за разработчиците и уеб услугите.



About the author

Телефонът е един от най-универсалните инструменти, които човек може да притежава и използва. Позволено е на хората да общуват с други, да имат достъп до интернет и да правят много други неща. С устройство iPhone или Android можете дори да гледате видеоклипове и да изтегляте музика. Телефонът също е чудесен за правене на снимки, сърфиране в мрежата, слушане на музика и др.



Related posts