Что такое API
API является аббревиатурой от Application Programming Interface, что в переводе означает программный интерфейс приложения. API представляет набор правил и функций, позволяющих двум разным приложениям взаимодействовать друг с другом. Подобные интерфейсы облегчают интеграцию приложений, давая возможность разработчикам создавать мощные диджитал решения.
API выступает посредником между приложениями, отправляя запросы и ответы. Например, регистрация в приложении через существующий аккаунт в соцсетях пользователя происходит через API, который разработчики интегрировали в приложение.
Для отправки и получения тех самых запросов (функций) и в зависимости от назначения API следует разным протоколам и стандартам. Различают следующие типы протоколов и архитектур:
XML-RPCпозволяет выполнять обмен функциями между двумя или более сетями.XML-RPCиспользуетXMLдля описания запросов и ответов, и при помощи протоколовHTTPпередает информацию от клиента к серверуJSON-RPCэто облегченныйRPC, похожий наXML. Протокол закодирован вJSON, позволяет получать вызовы на сервер с возможностью асинхронных ответовSOAPsimple object access protocol, протокол для обмена структурированной информацией при реализации веб-сервисов в компьютерных сетях.SOAPиспользуетXMLдля аутентификации, авторизации и взаимодействия процессов в операционных системах и позволяет клиентам вызывать веб-сервисы и получать ответы независимо от языка и платформыREST APIрепрезентативная передача состояния, это архитектурный стиль который осуществляет реализацию клиента и сервера независимо друг от друга. Сервисы вREST APIвзаимодействуют по протоколу HTTP
Почему API называют интерфейсом
Интерфейс, это граница между двумя функциональными системами, на которой происходит их взаимодействие и обмен информацией. При этом процессы внутри каждой из систем скрыты друг от друга.
С помощью интерфейса можно использовать возможности разных систем, не задумываясь о том, как они обрабатывают наши запросы и что у них под капотом. Например, чтобы позвонить, не обязательно знать, как смартфон обрабатывает нажатия на тачскрин. Важно лишь, что в гаджете есть кнопка, которая всегда возвращает одинаковый результат в ответ на определённые действия.
Точно так же с помощью вызовов API можно выполнить определённые функции программы, не зная, как она работает. Поэтому API и называют интерфейсом.
Как API помогает писать надёжные программы
Обычно мы не знаем, как программы устроены внутри. Впрочем, нам иногда и не важно, как они работают. Поэтому программную реализацию называют чёрным ящиком и прячут за несколькими уровнями абстракций, чтобы пользователям было удобно ими пользоваться.
Уровни абстракции сильно ускоряют процесс разработки, потому что программист может использовать готовые функции API в других приложениях. Это обычная практика. Например, большинство операционных систем предоставляют свои API другим программам, чтобы они получили возможность:
- работать с файловой системой
- отрисовывать графику
- хранить данные
- использовать сетевые возможности
- воспроизводить аудио и так далее
Windows, Linux, macOS сами определяют какие функции нужно вызвать и какие параметры передать, чтобы выполнить те или иные действия. Всё это описывается в документации к API, с которым работают разработчики других программ.
Почему API так популярны у программистов
Программные интерфейсы сервисов и библиотек позволяют разработчикам не изобретать велосипеды. Зачем писать код, когда можно воспользоваться готовым. Вот какие возможности даёт API:
- Предоставляет доступ к готовым инструментам. Например, к функциям библиотеки для машинного обучения TensorFlow — они помогают быстро создать нейросеть, не тратя время на разработку инструментов с нуля
- Повышает безопасность. API позволяет вынести в отдельное приложение функциональность, которая должна быть защищена. Так снижается вероятность некорректного использования этих функций другими программами
- Связывает разные системы. Если вам нужно подключить к сайту платёжную систему или авторизацию через соцсети, без API не обойтись
- Снижает стоимость разработки. Часто бывает, что дешевле воспользоваться платным API, чем создавать функциональность с нуля
Стороннее API обычно безопасное, потому что над ним работает коммерческая организация или целое сообщество разработчиков. И конечно, с его помощью даже работа над сложными проектами становится проще и приятнее.
Как компании зарабатывают с помощью API
Компании которые разрабатывают сложные приложения, часто предоставляют клиентам доступ к API своих продуктов. Например, создатели видеоредактора могут брать дополнительную плату за рендеринг видео на своих серверах. По API они принимают от клиентов все файлы и инструкции, возвращают готовый ролик. Например, «Яндекс» предоставляет платные API таких технологий:
- Переводчика с машинным обучением
- Системы распознавания и синтеза речи
- Платформы облачных вычислений и так далее
Популярные социальные сети тоже предоставляют доступ к своим API. Через них можно, создать игру для «ВКонтакта» или добавить на сайт авторизацию через Google. При этом компании обычно не раскрывают принципы реализации своих интерфейсов, поэтому для программистов они остаются чёрными ящиками.
