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 за разработчици на Google Play(Google Play Developer API)(Google Play Developer API) : Задачи за публикуване и управление на приложения, свързани с Google Play
- Приложни програмни интерфейси на Skyscanner(Skyscanner APIs)(Skyscanner APIs) : API(APIs) , базиранина пътувания, свързани с полети, коли под наем и др
- Twilio API : Позволява(Allows) програмно изпращане и получаване на телефонни обаждания
- Discord API : Позволява на потребителите да създават ботове, които правят Discord услугата за съобщения, каквато е днес
- IPinfo API : IP(On-the-fly IP) адрес в движение и данни за геолокация за вашия уебсайт или приложение
API(APIs) са един от ключовите конектори зад някои от най-големите и важни уеб сайтове и приложения в мрежата. Въпреки че обикновеният потребител може да не е в състояние да види ползата, която API(APIs) предоставят, те са находка за разработчиците и уеб услугите.
Related posts
HDG обяснява: Как работи 3D печат?
HDG обяснява: Какво е CAPTCHA и как работи?
HDG обяснява: Как работи GPS?
HDG обяснява: Как работи разширената реалност?
HDG обяснява: Какво е SFTP и FTP?
12 съвета и трика за Chromebook
Какво означава краят на живота за софтуера и трябва ли да ви пука?
HDG обяснява: Какво е Keylogger и как да го премахна от компютъра си?
Създайте резервно копие на системното изображение на Windows 10
HDG обяснява: Какво е компютърен сървър?
HDG обяснява: Какво е BIOS?
HDG обяснява: Какво е Ethernet и по-добър ли е от Wifi?
HDG обяснява: Какво е самолетен режим на вашия смартфон или таблет?
HDG Ръководство за правене на екранни снимки на зареждащи среди
HDG обяснява: Какво е блокчейн база данни?
HDG обяснява: Какво е UNIX?
99 от най-добрите безплатни програми за Windows, които може да не знаете
HDG обяснява: Какво представляват метаданните и как се използват?
Как да изтриете папката Windows.old в Windows 7/8/10
HDG обяснява: Какво е честотна лента?