API (произносится «эй-пи-ай» или просто «апи») — это способ общения между разными программами и сервисами. Это как «язык», на котором программы разговаривают друг с другом. API позволяет одной программе использовать возможности другой программы, не зная, как та работает внутри.
Происхождение слова
API — это аббревиатура английского термина «Application Programming Interface», что переводится как «интерфейс программирования приложений». Слово «интерфейс» здесь означает «средство взаимодействия». Этот термин возник в мире программирования, когда появилась необходимость создавать стандартные способы для взаимодействия между разными программами.
Примеры в жизни
- Погодное приложение: использует API погодного сервиса, чтобы показать вам прогноз погоды
- Кнопка «Войти через Google»: использует API Google для входа в другие сайты
- Карты в приложении такси: работают через API карт (например, Google Maps)
- Платежи в интернет-магазине: используют API банковских систем
- Публикация фото в нескольких соцсетях сразу: возможна благодаря API этих платформ
Аналогии
- API как официант в ресторане: вы (пользователь) заказываете блюдо у официанта (API), а не идёте сами на кухню (в базу данных). Официант передаёт заказ повару и приносит вам готовое блюдо.
- API как электрическая розетка: у неё стандартный интерфейс, и вам не нужно знать, как работает электростанция, чтобы подключить свой прибор.
- API как пульт от телевизора: вы нажимаете кнопки (делаете запросы), а телевизор выполняет команды. Вам не нужно знать, как он это делает внутри.
- API как меню в ресторане: показывает, что можно заказать (функции), но не раскрывает рецепты (внутреннее устройство).
Синонимы и сокращения
- Программный интерфейс (русский аналог термина)
- Интерфейс приложения (упрощённое название)
- Веб-API (тип API для веб-сервисов)
- REST API (особый тип API для веб-приложений)
- SDK (Software Development Kit — набор инструментов для работы с API)
- Эндпойнты (endpoint — точки доступа к функциям API)
API — это мост между разными программами, который позволяет им обмениваться данными и функциональностью, делая технологии более связанными и удобными для пользователей.