💳 Термінова новина! Trustee Plus — найкраще рішення для розрахунку криптою 👉

Що таке API? Просте пояснення від Петра Газарова

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

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

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

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

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

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

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

7 курсів по API, щоб розібратися в теміЗа теме7 курсів по 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

Developing APIs with Google Cloud’s Apigee API Platform

Exploring GraphQL: A Query Language for APIs

The React Developer Course with Hooks, Context API and Redux

Rest API Automation With Rest Assured

Bubble-новий гід по цифровому світу: як увійти в Айті і хакнути своє життя

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

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

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

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

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

УЧАСТЬ В АЗАРТНИХ ІГРАХ МОЖЕ ВИКЛИКАТИ ІГРОВУ ЗАЛЕЖНІСТЬ. ДОТРИМУЙТЕСЯ ПРАВИЛ (ПРИНЦИПІВ) ВІДПОВІДАЛЬНОЇ ГРИ.
Ліцензія видана ТОВ "СЛОТС Ю.ЕЙ." на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 15.09.23 (рішення КРАІЛ №245 від 31.08.2023); ТОВ "СЛОТС Ю.ЕЙ." – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 26.04.2021 (рішення КРАІЛ №150 від 12.04.2021); ТОВ «СПЕЙСИКС» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 08.02.2021 (рішення КРАІЛ №34 від 02.02.2021); ТОВ «ГЕЙМДЕВ» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 16.02.2021 (рішення № 47 від 10.02.2021).

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

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

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