Каждый раз когда ты открываешь приложение погоды, платишь картой или видишь рекомендации в YouTube — работает API. Но что это такое?
Официальное определение
API (Application Programming Interface, программный интерфейс приложения) — это набор правил, по которым одна программа может обращаться к другой за данными или функциями.
Проще говоря: API — это договор между двумя программами о том, как они будут общаться.
Аналогия с рестораном
Представь ресторан:
- Ты — это твоя программа
- Кухня — это сервер с данными (базой данных, логикой)
- Официант — это API
Ты не идёшь на кухню сам — это нарушило бы порядок и было бы небезопасно. Ты говоришь официанту: «Принеси борщ». Официант идёт на кухню, приносит блюдо. Тебе не нужно знать как готовить борщ.
Так же и с API: твоя программа не лезет напрямую в базу данных сервера. Она отправляет запрос через API — и получает готовый ответ.
Как это выглядит технически
Твой код Сервер
│ │
│── GET /jokes/random ────▶│
│ │ обрабатывает запрос
│◀── {"value": "..."} ────│
│ │
- Твой код отправляет запрос (request) по адресу
- Сервер получает запрос и готовит ответ (response)
- Ответ приходит в формате JSON
Зачем нужны API
Без API:
- Каждое приложение погоды собирало бы данные самостоятельно
- Каждый сайт писал бы свою систему авторизации с нуля
- Карты пришлось бы рисовать заново для каждого приложения
С API:
- Тысячи приложений используют одни и те же данные о погоде
- Google, GitHub, Facebook предоставляют авторизацию любому сайту
- Google Maps встраивается в любое приложение
Где API встречается в реальной жизни
| Что ты делаешь | Какой API работает |
|---|---|
| Проверяешь погоду | OpenWeatherMap API |
| Платишь картой | Stripe / ЮKassa API |
| Входишь через Google | Google OAuth API |
| Смотришь карту | Google Maps API |
| Делаешь репост | Twitter/VK API |
| Просишь у ChatGPT | OpenAI API |
Типы API
REST API — самый распространённый. Работает через HTTP, возвращает JSON. Именно его мы изучаем.
GraphQL — запрашиваешь ровно те поля которые нужны, не больше.
WebSocket — двусторонняя связь в реальном времени (чаты, игры).
gRPC — быстрый протокол для общения между серверами.
В этом курсе мы работаем с REST API — это стандарт индустрии.
Публичные и приватные API
Публичные API открыты для всех разработчиков. Примеры:
- chucknorris.io — шутки про Чака Норриса (бесплатно, без ключа)
- OpenWeatherMap — погода (бесплатно, нужен ключ)
- NASA API — космические данные (бесплатно, нужен ключ)
- GitHub API — данные репозиториев (частично бесплатно)
Приватные API используются внутри компании — например API между фронтендом и бэкендом твоего проекта.
Итог
API — это официальный способ получить данные или функцию у другой программы. Ты знаешь только «что попросить» и «что получишь» — как устроена кухня тебя не касается.
💬 Comments (0)
No comments yet
Be the first to share your opinion about this article!