Ми запускаємо розсилку про українське IT-ком’юніті. Залиште email, аби розуміти більше. Прем’єра — скоро!
Дякую! На вказану адресу надіслано листа для підтвердження підписки.
Hot! dev.media шукає менеджера з продажу спецпроєктів

Що таке API? Просте пояснення для початківців

Цей короткий термін на слуху у всіх, хто стикався з розробкою. Але далеко не всі розуміють, що саме він означає та навіщо потрібний. Розробник Петро Газаров розповів про API простими словами у своєму блозі.

Залишити коментар
Що таке API? Просте пояснення для початківців

Цей короткий термін на слуху у всіх, хто стикався з розробкою. Але далеко не всі розуміють, що саме він означає та навіщо потрібний. Розробник Петро Газаров розповів про API простими словами у своєму блозі.

Абревіатура API розшифровується як «Application Programming Interface» (інтерфейс програмування програм, програмний інтерфейс програми). Більшість великих компаній на певному етапі розробляють API для клієнтів або внутрішнього використання. Щоб зрозуміти, як і яким чином API застосовується в розробці та бізнесі, спочатку потрібно розібратися, як влаштовано всесвітнє павутиння.

Всесвітнє павутиння та віддалені сервери

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

Під час введення в адресний рядок браузера www.facebook.com на віддалений сервер Facebook надсилається відповідний запит. Як тільки браузер отримує відповідь, інтерпретує код і відображає сторінку.

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

API як спосіб обслуговування клієнтів

Багато компаній пропонують API як готовий продукт. Наприклад, Weather Underground продає доступ до свого API для отримання метеорологічних даних.

Сценарій використання: на сайті невеликої компанії є форма для запису клієнтів на прийом. Компанія хоче вбудувати в нього Google Календар, щоб дати клієнтам можливість автоматично створювати подію та вносити деталі про майбутню зустріч.

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

Як альтернативу браузер може зробити запит до API сервера Google, оминаючи сервер компанії.

Чим API Google Календаря відрізняється від API будь-якого іншого віддаленого сервера в мережі?

Технічно різниця у форматі запиту та відповіді. Щоб згенерувати повну вебсторінку, браузер очікує на мову розмітки HTML, в той час, як API Google Календаря поверне просто дані у форматі на кшталт JSON.

Якщо запит до API робить сервер вебсайту компанії, він і є клієнтом (як і клієнтом виступає браузер, коли користувач відкриває вебсайт).

Користувач завдяки API отримує можливість здійснити дію, не залишаючи сайт компанії.

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

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

Так, коли компанія пропонує своїм користувачам API, це просто означає, що вона створила ряд спеціальних URL, які як відповідь повертають лише дані.

Такі запити можна часто надсилати через браузер. Оскільки передача даних за протоколом HTTP відбувається у текстовому вигляді, браузер завжди зможе відобразити відповідь. Наприклад, через браузер можна безпосередньо звернутися до API GitHub (https://api.github.com/users/petrgazarov), причому без маркера доступу, і отримати таку відповідь у форматі JSON:

Браузер відмінно відображає JSON-відповідь, яку можна вставляти в код. З такого тексту досить просто витягти дані, щоб використовувати їх на власний розсуд.

Ще кілька прикладів API

Слово «application» (прикладний, додаток) може застосовуватись у різних значеннях. У контексті API воно має на увазі:

  • фрагмент програмного забезпечення з певною функцією,
  • сервер повністю, додаток повністю або просто окрему частину програми.

Будь-який фрагмент програмного забезпечення, який можна чітко виділити з оточення, може замінювати букву «А» в англомовній абревіатурі, і теж може мати деякий API. Наприклад, при впровадженні в код розробником сторонньої бібліотеки вона стає частиною всього додатка. Бувши самостійним фрагментом ПЗ, бібліотека матиме якийсь API, який дозволить їй взаємодіяти з іншим кодом програми.

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

Про конкуренцію, ейджизм, працевлаштування, фейки та навчання.

«Стас IT-глаз» з черговою гарячею темою ІТ-курси в Україні.

Ми запускаємо розсилку про українське IT-ком’юніті. Залиште email, аби розуміти більше. Прем’єра — скоро!
Дякую! На вказану адресу надіслано листа для підтвердження підписки.

Хочете повідомити важливу новину? Пишіть у Telegram-бот

Головні події та корисні посилання в нашому Telegram-каналі

Обговорення
Коментарів поки немає.