Что такое API
medium

Что такое API

Это как нанять внешнего сотрудника на удалёнку.

В простых программах всё можно сделать внутри. Для более сложных может понадобиться помощь других сервисов, программ и систем. Вот для этого и нужен API. Сегодня разберём, что это, зачем и кому полезно.

API — это аббревиатура от английского Application Programming Interface, интерфейс программирования приложения. Чтобы было понятнее, расшифруем так:

API — это то, что может делать приложение по просьбе других приложений.

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

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

В интернете есть сервис Главред — он помогает убрать словесный мусор из текста и сделать его более понятным для читателя. Для этого сервис подчёркивает те фрагменты текста, которые, по его мнению, можно удалить или переписать иначе.

Когда всё только начиналось, для проверки текста нужно было идти на сайт, потому что проверка работала только там. Некоторое время спустя разработчики добавили API и как бы сказали всему миру: ребята, теперь вы можете отправлять текст на проверку в наш сервис не через сайт, а как бы напрямую. Мы в ответ вам покажем, что нужно поправить. Работает это так:

  1. Главред публикует информацию о том, что его API работает вот таким образом, пользоваться можно вот так, а ответы будут приходить вот в таком виде.
  2. Другие разработчики, которые хотят добавить поддержку Главреда в свои продукты, это читают и добавляют нужные команды в код своего продукта.
  3. Этот продукт посылает на сервер Главреда специальный запрос, внутри которого есть текст, который нужно проверить.
  4. Главред проверяет текст, находит ошибки, формирует ответное сообщение и отправляет назад.
  5. Приложение получает этот ответ, расшифровывает его и показывает все подчёркивания у себя, как будто это оно само умеет так делать.

В результате выигрывают все: Главред увеличивает популярность и свою узнаваемость, а разработчики сразу получают готовое решение, которое улучшает их продукт. Текстовый редактор Оптима работает именно так.

API и разработка нового

Если есть открытый API, то разработчики новых продуктов могут использовать этот сервис, чтобы встроить его возможности в свою программу. Им уже не нужно писать код Главреда с нуля — достаточно обратиться к нему по API, чтобы получить нужный результат.

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

Что будет, если API отключится или поменяются условия

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

Раньше было так: есть открытый API для карт, им можно было пользоваться почти без ограничений — 750 000 бесплатных запросов, этого хватало почти для каждой компании. Программист просто формировал специальный код для вставки на сайт, который обращался к серверу Гугла и получал в ответ нужный кусок карты со всеми функциями. Получается, что в каждом таком сайте была встроена мини-версия сервиса Google Maps.

Потом всё поменялось: Гугл изменили правила использования своего API для карт, и теперь есть ограничения на количество показов и запросов к сервису. Теперь бесплатно можно запросить карты только 28 000 раз. Это значит, что если у вас есть сайт с картой, которую вы загружаете по API, то первые 28 000 посетителей сайта увидят это бесплатно, а за каждый новый показ вам, как владельцу сайта, придётся заплатить.

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

Где используется API

Везде. Если отключить все API в мире (хотя это и невозможно), то перестанут работать почти все сервисы в интернете и большинство программ. Даже наш сайт использует много разных API:

  • для комментариев;
  • для вставки плашек соцсетей в конце каждой статьи;
  • чтобы поделиться статьёй в фейсбуке, ВКонтакте или твитере;
  • для подсветки синтаксиса в коде, когда мы пишем проекты;
  • и это не учитывая множества внутренних API вордпресса, на котором работает наш сайт.

А вот как используют действительно популярные API — с их помощью можно где угодно показывать и использовать:

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

Как программисты делают API

Когда разработчики решают добавить поддержку API, они делают так:

  1. Собирают список функций, которыми они хотят поделиться с миром.
  2. Для каждой функции продумывают параметры, которые она должна получить и которые отправляет в ответ.
  3. Выбирают формат, в котором им удобно принимать и отправлять данные.
  4. Встраивают в свой код, затем тестируют, чтобы всё работало без ошибок.
  5. Публикуют свой API — как с ним работать, в каком формате и на каких условиях.

Если есть время и желание, API можно добавить почти к любому продукту.

Что дальше

Попробуем поработать с API на практике — возьмём тот же сервис Главреда и прикрутим его к нашему текстовому редактору. Будет интересно.

Курс «Мидл Python-разработчик»
Python простой на старте, но чем дальше — тем больше нюансов. Попробуйте курс «Практикума», чтобы выйти на новый уровень. Понятная теория, тренажеры, поддержка ревьюеров и обучение в группе, всё как надо.
Посмотреть
Курс «Мидл Python-разработчик» Курс «Мидл Python-разработчик» Курс «Мидл Python-разработчик» Курс «Мидл Python-разработчик»
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Scala
Зачем нужен Scala?

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

easy
Зачем программистам сразу два монитора (а то и три)
Зачем программистам сразу два монитора (а то и три)

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

easy
За что не любят программистов

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

easy
Что такое MVP и чем он отличается от прототипа
Что такое MVP и чем он отличается от прототипа

MVP — это от слова «минимал», детка

easy
Верстаем в сетке

Разбираем, как можно расположить текст и фото в CSS Grid.

medium
NFT — новые модные токены. Зачем они нужны и не развод ли это?
NFT — новые модные токены. Зачем они нужны и не развод ли это?

Объясняем на Аллегровой.

easy
Как установить Вордпресс на свой сайт

Совсем взрослый стал, сайты свои делает, молодец.

hard
Одностраничник, лендинг, сайт и портал — в чём разница
Одностраничник, лендинг, сайт и портал — в чём разница

Разница — в структуре

easy
Как работает синхронизация времени в интернете
Как работает синхронизация времени в интернете

Можно ли синхронизировать свой комп по атомным часам

easy
medium