Что такое API и где встречается в программировании
Узнайте, что такое API, как работает и почему он необходим для взаимодействия программ, обмена данными и современной разработки ПО.


В современной разработке программы редко существуют изолированно.
Код разработчика может использовать сторонние библиотеки, веб сайт может получать сведения о наличии товара из внешнего сервиса, мобильное приложение загружать данные пользователя с удаленного сервера, а интернет-магазин синхронизировать информацию об оплате с платёжной системой.
Чтобы разные части программного обеспечения могли взаимодействовать предсказуемым способом, используют специальные интерфейсы.
В этой статье рассмотрим, что означает слово API и почему этот термин встречается почти в каждой области программирования.
API (аббревиатура с анг. Application Programming Interface) это программный интерфейс, то есть набор правил и способов, с помощью которых можно взаимодействовать с программой или ее компонентом.
Проще говоря, API описывает:
действия которые можно совершить
аргументы которые необходимо передать
ответы которые будут получены
Например, приложение прогноза погоды может только отображать данные и ничего не знать об анализе погоды или метеостанциях.
Работая с API сервисом предоставляющим данные, программа просто отправляет запрос и получив ответ, отображает его пользователю.
Другой пример это система общепита:
посетитель выступает в качестве программы, то есть совершает обращение
меню это карта API, где описаны действия, пример заказать пиццу и параметры, пример добавить ингредиент лук или оливки
официант это интерфейс API, он принимает заказ
кухня, это скрытая система, которая выполняет работу, о которой посетитель - программа может даже не догадываться
готовое блюдо это результат

Посетителю (программе) не нужно знать, как устроена кухня (API сервис).
Он выбирает из меню (из карты API), передаёт заказ официанту (интерфейсу) и получает результат.
API используют, когда необходимо:
получать данные из другого приложения или сервиса
передавать информацию между кодом который отображает (frontend) и кодом который обрабатывает данные (backend)
интегрировать сайт с платёжным сервисом, CRM или системой доставки
повторно использовать функции библиотеки или операционной системы
разделять систему на отдельные компоненты, которые взаимодействуют по согласованным правилам
API не обязательно работает через интернет.
АПИ может быть и у библиотек программирования, для вызова их функций.
На примере взаимодействия веб сайта, АПИ может работать следующим образом:

пользователь открывает страницу профиля
страница должна получить имя, адрес электронной почты и другие данные аккаунта
отображающий код сайта (Frontend) берет данные из кэша браузера или отправляет запрос к обрабатывающему коду сайта (Backend API) - серверу
обрабатывающий код сайта сервер (Backend API) возвращает ответ
отображающий код сайта (Frontend) отображает данные
API это условное понятие, оно не обозначает один конкретный протокол или формат.
Ниже рассмотрим распространенные типы API.
API библиотек предоставляет функции, классы и методы, которые можно вызывать из собственного кода.
Например:
from pathlib import Path
file_path = Path("report.txt")
print(file_path.exists())пример библиотеки на языке Python с вызовом ее API функционала
Здесь класс Path и его метод exists() входят в программный интерфейс стандартной библиотеки языка Python.
Вызов происходит внутри программы, потому сетевой запрос (по интернету) не требуется.
Web API это программный интерфейс, который позволяет приложениям обмениваться данными и взаимодействовать друг с другом через сеть, обычно с использованием протоколов HTTP или HTTPS.
Например, приложение может отправить HTTP-запрос на сервер, чтобы получить список товаров, создать заказ или запросить сведения об аккаунте.
К распространённым подходам и технологиям Web API относятся:
REST архитектурный стиль взаимодействия с ресурсами через HTTP
GraphQL язык запросов, позволяющий клиенту самостоятельно выбирать необходимые данные
SOAP протокол обмена структурированными сообщениями на основе формальных контрактов
WebSocket API обеспечивает постоянное двунаправленное соединение между клиентом и сервером
RPC (например, gRPC) позволяет вызывать удалённые функции и методы через сеть
API операционной системы предоставляет интерфейсы, через которые программы могут взаимодействовать с файлами, процессами, сетью или другими ресурсами. Разработчики обычно используют их через языковые библиотеки и системные вызовы.
API баз данных предоставляет программам возможность взаимодействовать с базами данных: отправлять запросы, получать, добавлять, изменять и удалять информацию.
Например, приложение может использовать API для выполнения SQL-запросов и получения данных из PostgreSQL или MySQL, используя специальные драйверы и библиотеки, например psycopg для Python и PostgreSQL.
Browser API это набор интерфейсов, которые предоставляет браузер для взаимодействия веб-страниц с возможностями браузера и устройства пользователя.
С их помощью JavaScript может обращаться к различным функциям браузера, не реализуя их самостоятельно.
Например:
DOM API позволяет получать доступ к HTML-элементам страницы, изменять их содержимое и структуру
Geolocation API позволяет получать географическое местоположение пользователя с его разрешения
Storage API предоставляет возможности для хранения данных в браузере
Fetch API позволяет отправлять HTTP-запросы и получать данные с серверов
Canvas API используется для рисования графики и создания изображений непосредственно на веб-странице
WebSocket API позволяет устанавливать двунаправленное соединение с сервером
const button = document.querySelector("button");
button.addEventListener("click", () => {
alert("Кнопка нажата!");
});пример браузерного API
В этом примере используются DOM API для поиска HTML-элемента и Event API для обработки события нажатия кнопки.
Взаимодействие происходит непосредственно в браузере, поэтому отдельный серверный запрос для выполнения этого кода не требуется.
Browser API и Web API разные вещи, хотя некоторые интерфейсы могут пересекаться по используемым технологиям и спецификациям.
Термин API упоминается часто, потому что встречается почти в каждой области программирования, ведь он позволяет разным программам, сервисам и системам взаимодействовать друг с другом.
По сути, API это посредник, который помогает одному приложению обращаться к функциям или данным другого приложения, не зная, как именно оно устроено внутри.
Главная причина широкого распространения API это:
универсальность
удобство
возможность повторно использовать уже готовые решения.
Разработчикам не нужно создавать каждую функцию с нуля: они могут подключить готовый сервис через API и сосредоточиться на основной логике своего приложения.
API помогает:
экономить время
упрощать разработку
объединять технологии
делать программные продукты более гибкими и масштабируемыми
Если у вас остались вопросы по API вы можете обратиться за консультацией к программисту.





