@Nulltiton

Что из себя программно представляет API?

Везде где ищу информацию о том, что из себя представляет API написано лишь, что это "контракт" между программами. Правильно ли я понимаю, что
1. Программно API может быть отдельным приложением, к которому обращается программа-клиент чтобы получить информацию/выполнить действия через API; веб-приложением (по типу API, которые передают информацию о погоде) и даже библиотекой (WinAPI).
2. Может ли в таком случае API быть, например, просто консольным приложением, которое выполняет какие-то функции?
  • Вопрос задан
  • 169 просмотров
Решения вопроса 3
API - это не само приложение, а описание того, как одно приложение может взаимодействовать с другим.

В случае winapi - это описание того, как ты можешь взаимодействовать с виндой (как раз через вызовы определённых функций)

В случае веба - описание того, какие http запросы ты должен слать для совершения тех или иных действий.

Консольное приложение в принципе может быть некоторый способом для взаимодействие с чем-то - git тому пример, но у консольного приложения тоже есть свой контракт
Ответ написан
Комментировать
Griboks
@Griboks
API - это буквально интерфейс, т.е. способ (абсолютно любой, хоть через .txt файлы) взаимодействия с программой.
Если вы не соблюдаете интерфейс, то вы не можете взаимодействовать с программой программным способом. Если вы пишете интерфейс, то другие обязаны следовать вашей инструкции.

Правильно ли я понимаю, что

API может быть любым. Но чаще используют некоторые удобные общепринятые шаблоны, например: web json rest api, интерфейсы в c# или dll библиотеки.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
API это то место, через которое одна программа общается с другой программой.
Это может быть открытый порт, куда можно подключиться и отправить/получить данные.
В случае веб-апи, это может быть определенный эндпоинт
Это может быть брокер или база данных
Это может быть вообще файл на диске.
Другими словами, это именно контракт - сам придумываешь как одна программа может общаться с другой программой. А реализация уже второй вопрос.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы