Ви не бачите його, але він працює заради вас майже в кожному застосунку на вашому телефоні. А коли ви відвідуєте будь-яку сторінку в мережі, то саме з ним спілкуєтесь, щоб отримати відповідь на запит. Але хто він, наш непомітний герой, та як виконує своє призначення? У цій статті ми розповімо про головного провідника між програмами та користувачем. 

 

      Ми звикли до того, що технології «просто працюють». Натискаєш кнопку і щось відбувається. Але за кожною простою дією: оплата, вхід, пошук, геолокація стоїть чітко організована взаємодія різних цифрових систем. Ці системи, як люди, мають власні «мови».

      Але як вони розуміють друг друга?

      Виявляється, що для того, щоб обмінятись інформацією, вони використовують посередника. Саме такою ланкою є API, непомітна, але критично важлива частина сучасного програмного світу.

 

Що це таке?

      API — це абревіатура від Application Programming Interface, або інтерфейс прикладного програмування. Попри слово «інтерфейс» у назві API, він не має кнопок, меню чи форм — це не інтерфейс користувача у звичному для нас розумінні, це  інтерфейс для програм.  Простими словами, це набір правил і домовленостей, за якими одна програма може звернутися до іншої й отримати від неї результат.

Наприклад, «Програма A» хоче дізнатись у «Програми Б» щось важливе і замість довгих пояснень, вона надсилає чіткий запит через API, який й допоможе отримати швидку відповідь. Таким чином програми «спілкуються» між собою.

 

 

      Щоб краще зрозуміти принцип роботи, згадаємо звичайну покупку в інтернет-магазині. Ви обираєте товар, натискаєте «Оплатити», і буквально за кілька секунд бачите повідомлення про успішне замовлення. Але між цими діями відбувається ціла серія технічних звернень: сайт зв'язується з платіжною системою, та з банком, банк з вашим мобільним додатком, потім все відбуваються у зворотному порядку й ви отримуєте повідомлення. Усі ці кроки здійснюються завдяки API.

 

Як воно працює?

 

      API у певному сенсі — це словник команд, який знають обидві сторони, коли взаємодіють програма з програмою. Запит завжди надсилається за конкретною адресою, так званим «ендпоінтом» (кінцева точка доступу). У ньому чітко вказано, що саме потрібно зробити: отримати дані, змінити, створити нові або видалити. Ці дії описують як CRUD (Create, Read, Update, Delete).

      Для передачі інформації використовуються стандартизовані формати, найпоширеніший з яких JSON. Це структурований текст, у якому чітко видно, яка інформація передається: наприклад, ім'я користувача, статус замовлення чи температура повітря. Завдяки цьому і запит, і відповідь легко обробляються іншою програмою.

 

Які вони бувають?

 

          API бувають різними, залежно від того, де і як їх застосовують. Згадаємо ті, які використовується найчастіше.
Найвідоміший тип — веб. Його використовують сайти, мобільні додатки, хмарні сервіси. Наприклад, коли на сайті з'являється карта з вашою геопозицією або підтягуються курси валют — це робота веб API.

Є також бібліотечні  — це набори функцій, які підключаються прямо в код програми. Розробник додає готову «бібліотеку» і використовує її методи, не пишучи складну логіку з нуля. Так, наприклад, реалізується обробка зображень або шифрування паролів.

Існують ще API операційної системи — вони дозволяють програмам взаємодіяти з файловою системою, відкривати вікна, працювати з пристроями. Якщо програма хоче створити нову теку або зберегти файл, вона звертається до API самої ОС.

 

 

Чому без нього не обійтись?

 

          API — це не просто зручність, а й реальна вигода. Замість того, щоб створювати все з нуля, компанія може інтегрувати готові сервіси: платіжні системи, аналітику, геолокацію, логістику. Це економить час, ресурси, дозволяє зосередитися на головному продукті. До того ж існує цілий ринок, де сервіси продають доступ до своїх функцій. Наприклад, системи авторизації.

      Ще одна важлива перевага — безпека. Сторонні сервіси часто розробляються з урахуванням захисту даних, проходять аудит і тестування. А власна реалізація могла б мати вразливості, які складно передбачити.

 

 

Чи бувають ідеальні рішення?

 

          Попри всі переваги, робота з API може створювати труднощі. Деякі з них мають складну структуру, вимагають глибоких технічних знань або часу на розбір документації. Інколи API залежить від інших API, і тоді будь-який збій у ланцюгу може призвести до зупинки сервісу. Також варто враховувати, що сторонній інтерфейс — це ще й залежність: якщо сервіс вирішить змінити правила, вам доведеться адаптуватися.

 

 

Висновок

      API — це клей, який тримає разом усі частини сучасного цифрового світу. Без нього неможливо уявити мобільні додатки, онлайн-сервіси, платформи та навіть звичайні сайти. Він працює тихо, у фоновому режимі, але забезпечує те, що ми вважаємо «звичним функціоналом». Сподіваємося, тепер ви знаєте, що ховається за цим загадковим словом і, як бачите, ніякої магії – лише відповідальне відношення до програмістів та користувачів.

 

Артем Гребенюк

 

За матеріалами:

https://cloud.itstep.org/blog/what-is-an-api-why-is-it-used-by-programmers-and-the-basics-of-working-with-it

 

Популярні статті

Читати далі