Найти тему
IT - это просто

Что такое API? Простыми словами

Здравствуй, дорогой читатель. По какой-то причине вы встретили незнакомый для вас термин - API. Сегодня мы эти три буквы слышим все чаще. Но что они значат?

Если верить Википедии, то API расшифровывается как «application programming interface». Что в переводе означает - «программный интерфейс приложения». По отдельности слова понятны, а вместе? Давайте разбираться.

Начнем со слова «интерфейс». Интерфейс - это некий «проводник» между двумя объектами. В нашем случае - между программами. Это означает, что API помогает двум программам обмениваться данными между друг другом.

Но зачем и для чего? Давайте возьмем более вещественный пример.

Представим, что у нас есть генератор электричества, который приводится в движение ручкой.

Ручной генератор электричества
Ручной генератор электричества

Когда мы крутим ручку - генератор вырабатывает электричество. Это долго и неудобно. Но мы пока не знаем другого способа.

Но однажды в наш магазин привозят ветряной двигатель.

Ветряной двигатель и генератор электричества
Ветряной двигатель и генератор электричества

Чтобы облегчить себе жизнь мы принимаем решение, что нам нужно интегрировать двигатель в генератор. Открываем инструкции наших устройств и узнаем, что у наших устройств есть возможность их соединить. У обоих сбоку есть зубчатое колесо.

Ветряной двигатель и генератор электричества, соединенные между собой
Ветряной двигатель и генератор электричества, соединенные между собой

Но есть проблема, у устройств разный тип зубчатых колес и они не могут цепляться друг за друга. Решение этой проблемы довольно очевидно, необходимо создать колесо поддерживающее интерфейс (оба типа зубцов) обоих зубчатых колес.

А зачем нам создавать новое колесо, если мы можем переделать одно из устройств. Просто заменим ему колесо на такое же как у другого устройства.

Этот вариант плох по нескольким причинам:

  1. Устройства могут быть на гарантии и нельзя нарушать их целостность
  2. У нас недостаточно квалификации, чтобы переделать наше устройство
  3. Мы можем своими изменениями сломать устройство
  4. А если придется подключать еще одно устройство и часто их менять между собой, то надо все сломать переделать?

Исходя из этих причин, лучшим решением будет сделать прослойку между ними.

Атомный двигатель и генератор электричества, соединенные между собой
Атомный двигатель и генератор электричества, соединенные между собой

А если не будем ломать, то у нас появляется возможность иногда подключать атомный двигатель к нашему генератору.

Подобное зубчатое колесо, которое соединяет два устройства (две программы) в мире IT называется интеграцией. У каждого приложения, портала, сайта или сервиса может быть API (а может не быть). Разработчики договорились между собой в каком виде будет это API: зубчатые колеса, цепи или пневматика. И стараются подробно описать его: размер и форма зубьев, их количество и т.д.

А можно ли сделать для всех единый API?

К сожалению, на текущем этапе это уже невозможно. Существуют миллионы программ, у них у всех разный возраст. Все они развивались по-разному. Сообщество разработчиков очень большое, программисты пользуются сотнями языков для реализации совершенно разных приложений.

А еще API - это базовое понятие, потому что у разных типов приложений оно бывает разного типа: WEB, SDK и т.д.

Так что такое API? API для программ, как язык на котором говорит человек. С помощью API программы обмениваются данными.

UPD Я постарался максимально упростить терминологию и умышленно опустить довольно сложные для понимания термины и нюансы. Буду рад получить обратную связь.