Ты пришёл в кафе. Ты не идёшь на кухню, не объясняешь повару, в каком порядке резать овощи, и не ищешь, где лежат кастрюли. Ты просто берёшь меню, выбираешь блюдо и говоришь официанту. Меню — это понятный список того, что можно заказать. В мире программ такое «меню» называется API.
API — это окошко сервиса
API — это окошко, через которое одна программа может попросить у другой её данные или функции. Причём по чётким правилам: в окошке заранее написано, что можно спросить и в каком виде придёт ответ.
Программе, которая обращается к API, не нужно знать, как сервис всё делает внутри. Ей важно только: вот вопросы, которые можно задать, и вот ответы, которые придут. Как в кафе — тебе не важно устройство кухни, важно меню.
Аналогия с меню
Давай закрепим сравнение:
- Меню — это API: список того, что можно попросить.
- Официант — это запрос: он несёт твой заказ на кухню и возвращается с ответом.
- Кухня — это сам сервис: там всё готовится, но тебя туда не пускают, да тебе и не нужно.
Тебе достаточно знать меню, чтобы получить блюдо. Программе достаточно знать API, чтобы получить данные.
Зачем нужны API
API — это огромное удобство. Благодаря им приложениям не нужно делать всё самим. Они берут готовое у других сервисов:
- приложение погоды берёт прогноз через API сервиса погоды;
- интернет-магазин показывает курс валют через API банка;
- приложение такси рисует маршрут через API карт.
Приложение → API карт → готовый маршрут
Каждый сервис открывает своё «окошко», и любая программа может через него получить нужное.
Буквы API расшифровываются как «интерфейс для программ». Слово «интерфейс» здесь означает просто «место встречи» — точку, где одна программа обращается к другой. Запоминать расшифровку необязательно, главное — образ окошка или меню.
Попробуй
Терминального задания нет. Подумай о приложениях, которыми пользуешься: погода, карты, курс валют, вход через другой аккаунт — почти всё это работает через чужие API. В следующем уроке разберём, в каком виде данные путешествуют между программами — это формат под названием JSON.