В простых программах всё можно сделать внутри. Для более сложных может понадобиться помощь других сервисов, программ и систем. Вот для этого и нужен API. Сегодня разберём, что это, зачем и кому полезно.
API — это аббревиатура от английского Application Programming Interface, интерфейс программирования приложения. Чтобы было понятнее, расшифруем так:
API — это то, что может делать приложение по просьбе других приложений.
Само по себе приложение, сервис или программа не умеют работать с другими программами — они работают сами по себе, делают то, что им нужно, и не обращают внимания на внешний мир. Но если программист добавит поддержку API в свою программу, то она научится обрабатывать не только свои данные, но и данные из других приложений.
Как это работает
В интернете есть сервис Главред — он помогает убрать словесный мусор из текста и сделать его более понятным для читателя. Для этого сервис подчёркивает те фрагменты текста, которые, по его мнению, можно удалить или переписать иначе.
Когда всё только начиналось, для проверки текста нужно было идти на сайт, потому что проверка работала только там. Некоторое время спустя разработчики добавили API и как бы сказали всему миру: ребята, теперь вы можете отправлять текст на проверку в наш сервис не через сайт, а как бы напрямую. Мы в ответ вам покажем, что нужно поправить. Работает это так:
- Главред публикует информацию о том, что его API работает вот таким образом, пользоваться можно вот так, а ответы будут приходить вот в таком виде.
- Другие разработчики, которые хотят добавить поддержку Главреда в свои продукты, это читают и добавляют нужные команды в код своего продукта.
- Этот продукт посылает на сервер Главреда специальный запрос, внутри которого есть текст, который нужно проверить.
- Главред проверяет текст, находит ошибки, формирует ответное сообщение и отправляет назад.
- Приложение получает этот ответ, расшифровывает его и показывает все подчёркивания у себя, как будто это оно само умеет так делать.
В результате выигрывают все: Главред увеличивает популярность и свою узнаваемость, а разработчики сразу получают готовое решение, которое улучшает их продукт. Текстовый редактор Оптима работает именно так.
API и разработка нового
Если есть открытый API, то разработчики новых продуктов могут использовать этот сервис, чтобы встроить его возможности в свою программу. Им уже не нужно писать код Главреда с нуля — достаточно обратиться к нему по API, чтобы получить нужный результат.
Есть и минус — если разработчик закроет API или поменяет условия использования, то в приложении это тоже перестанет работать.
Что будет, если API отключится или поменяются условия
Именно такая ситуация произошла с картами Гугла, которые многие веб-разработчики встраивают на свои сайты, чтобы показать нужный адрес на карте.
Раньше было так: есть открытый API для карт, им можно было пользоваться почти без ограничений — 750 000 бесплатных запросов, этого хватало почти для каждой компании. Программист просто формировал специальный код для вставки на сайт, который обращался к серверу Гугла и получал в ответ нужный кусок карты со всеми функциями. Получается, что в каждом таком сайте была встроена мини-версия сервиса Google Maps.
Потом всё поменялось: Гугл изменили правила использования своего API для карт, и теперь есть ограничения на количество показов и запросов к сервису. Теперь бесплатно можно запросить карты только 28 000 раз. Это значит, что если у вас есть сайт с картой, которую вы загружаете по API, то первые 28 000 посетителей сайта увидят это бесплатно, а за каждый новый показ вам, как владельцу сайта, придётся заплатить.
Почему так: потому что API — жест доброй воли со стороны разработчиков. Это их продукт, их сервис, и они могут установить любые правила для использования.
Где используется API
Везде. Если отключить все API в мире (хотя это и невозможно), то перестанут работать почти все сервисы в интернете и большинство программ. Даже наш сайт использует много разных API:
- для комментариев;
- для вставки плашек соцсетей в конце каждой статьи;
- чтобы поделиться статьёй в фейсбуке, ВКонтакте или твитере;
- для подсветки синтаксиса в коде, когда мы пишем проекты;
- и это не учитывая множества внутренних API вордпресса, на котором работает наш сайт.
А вот как используют действительно популярные API — с их помощью можно где угодно показывать и использовать:
- карты и навигацию,
- погоду,
- новости,
- вход на сайты через соцсети,
- сервисы оплаты и перевода денег,
- быстрые покупки в магазинах.
Как программисты делают API
Когда разработчики решают добавить поддержку API, они делают так:
- Собирают список функций, которыми они хотят поделиться с миром.
- Для каждой функции продумывают параметры, которые она должна получить и которые отправляет в ответ.
- Выбирают формат, в котором им удобно принимать и отправлять данные.
- Встраивают в свой код, затем тестируют, чтобы всё работало без ошибок.
- Публикуют свой API — как с ним работать, в каком формате и на каких условиях.
Если есть время и желание, API можно добавить почти к любому продукту.
Что дальше
Попробуем поработать с API на практике — возьмём тот же сервис Главреда и прикрутим его к нашему текстовому редактору. Будет интересно.