• Информация на сайте предоставляется «как есть», может содержать неточности и не является консультацией или офертой.
  • Перед использованием проконсультируйтесь со специалистом.

Используя сайт, вы подтверждаете, что вы изучили и согласны с документами Политика конфиденциальности и обработки персональных данныхи Пользовательское соглашение.

Сайт использует cookies для работы и сбора аналитики. Вы можете принять или настроить их, а также полностью отключить в настройках браузера.

Настройки cookies
Необходимые для работы веб-сайта

Используются для входа, навигации и защиты (например: sessionid, csrftoken). Без них сайт может работать с перебоями.

Помогают улучшить сайт, собирая статистику посещений (например, через Яндекс Метрику).

Используются для показа персонализированной рекламы и ретаргетинга в рекламных сетях.

Настройки интерфейса

Декоративный эффект свечения при клике по странице.

DEV -
PROGRAM.RU
Контакты

Что такое API и где встречается в программировании

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

Что такое API в программировании

В современной разработке программы редко существуют изолированно.

Код разработчика может использовать сторонние библиотеки, веб сайт может получать сведения о наличии товара из внешнего сервиса, мобильное приложение загружать данные пользователя с удаленного сервера, а интернет-магазин синхронизировать информацию об оплате с платёжной системой.

Чтобы разные части программного обеспечения могли взаимодействовать предсказуемым способом, используют специальные интерфейсы.

В этой статье рассмотрим, что означает слово API и почему этот термин встречается почти в каждой области программирования.

Что такое API

API (аббревиатура с анг. Application Programming Interface) это программный интерфейс, то есть набор правил и способов, с помощью которых можно взаимодействовать с программой или ее компонентом.

Проще говоря, API описывает:

  • действия которые можно совершить

  • аргументы которые необходимо передать

  • ответы которые будут получены

Реальный пример для понимания API

Например, приложение прогноза погоды может только отображать данные и ничего не знать об анализе погоды или метеостанциях.

Работая с API сервисом предоставляющим данные, программа просто отправляет запрос и получив ответ, отображает его пользователю.

Другой пример это система общепита:

  • посетитель выступает в качестве программы, то есть совершает обращение

  • меню это карта API, где описаны действия, пример заказать пиццу и параметры, пример добавить ингредиент лук или оливки

  • официант это интерфейс API, он принимает заказ

  • кухня, это скрытая система, которая выполняет работу, о которой посетитель - программа может даже не догадываться

  • готовое блюдо это результат

Работа API на примере общепита

Посетителю (программе) не нужно знать, как устроена кухня (API сервис).

Он выбирает из меню (из карты API), передаёт заказ официанту (интерфейсу) и получает результат.

Зачем нужен API

API используют, когда необходимо:

  • получать данные из другого приложения или сервиса

  • передавать информацию между кодом который отображает (frontend) и кодом который обрабатывает данные (backend)

  • интегрировать сайт с платёжным сервисом, CRM или системой доставки

  • повторно использовать функции библиотеки или операционной системы

  • разделять систему на отдельные компоненты, которые взаимодействуют по согласованным правилам

API не обязательно работает через интернет.

АПИ может быть и у библиотек программирования, для вызова их функций.

Как работает API

На примере взаимодействия веб сайта, АПИ может работать следующим образом:

API Цикл запроса страницы профиля frontend backend
  • пользователь открывает страницу профиля

  • страница должна получить имя, адрес электронной почты и другие данные аккаунта

  • отображающий код сайта (Frontend) берет данные из кэша браузера или отправляет запрос к обрабатывающему коду сайта (Backend API) - серверу

  • обрабатывающий код сайта сервер (Backend API) возвращает ответ

  • отображающий код сайта (Frontend) отображает данные

Какие бывают API

API это условное понятие, оно не обозначает один конкретный протокол или формат.

Ниже рассмотрим распространенные типы API.

API библиотек

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

Например:

from pathlib import Path

file_path = Path("report.txt")
print(file_path.exists())

пример библиотеки на языке Python с вызовом ее API функционала

Здесь класс Path и его метод exists() входят в программный интерфейс стандартной библиотеки языка Python.

Вызов происходит внутри программы, потому сетевой запрос (по интернету) не требуется.

Web API

Web API это программный интерфейс, который позволяет приложениям обмениваться данными и взаимодействовать друг с другом через сеть, обычно с использованием протоколов HTTP или HTTPS.

Например, приложение может отправить HTTP-запрос на сервер, чтобы получить список товаров, создать заказ или запросить сведения об аккаунте.

К распространённым подходам и технологиям Web API относятся:

  • REST архитектурный стиль взаимодействия с ресурсами через HTTP

  • GraphQL язык запросов, позволяющий клиенту самостоятельно выбирать необходимые данные

  • SOAP протокол обмена структурированными сообщениями на основе формальных контрактов

  • WebSocket API обеспечивает постоянное двунаправленное соединение между клиентом и сервером

  • RPC (например, gRPC) позволяет вызывать удалённые функции и методы через сеть

API операционной системы

API операционной системы предоставляет интерфейсы, через которые программы могут взаимодействовать с файлами, процессами, сетью или другими ресурсами. Разработчики обычно используют их через языковые библиотеки и системные вызовы.

API баз данных

API баз данных предоставляет программам возможность взаимодействовать с базами данных: отправлять запросы, получать, добавлять, изменять и удалять информацию.

Например, приложение может использовать API для выполнения SQL-запросов и получения данных из PostgreSQL или MySQL, используя специальные драйверы и библиотеки, например psycopg для Python и PostgreSQL.

API браузера (Browser API)

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 помогает:

  • экономить время

  • упрощать разработку

  • объединять технологии

  • делать программные продукты более гибкими и масштабируемыми

Если у вас остались вопросы по API вы можете обратиться за консультацией к программисту.

Вам может быть интересно

Поделиться
Ничего не найдено
Найдите нужную страницу

Статьи, инструменты и помощь