Невозможно поговорить с разработчиком, если он не упомянет слово API хотя бы 50 раз. В этом посте я хочу изучить, что такое определение API и какие типы API бывают.

Определение

Связь - это потрясающая вещь. Как разные приложения и устройства подключаются друг к другу? Это интерфейс прикладного программирования.

API-интерфейсы создают связь между приложениями и устройствами.

Большинство компьютерных программ предоставляют данные для людей в форме пользовательского интерфейса, чтобы их использование было максимально приятным. Все операционные системы предоставляют графический интерфейс пользователя (графический интерфейс пользователя) для взаимодействия с системой. Пользователя на самом деле не волнуют технические детали. Аналогичным образом API предоставляет разработчикам более простой способ взаимодействия с другими видами программного обеспечения. Данные должны использоваться другой программой, а не «пользователем».

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

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

Уровень API помогает стандартизировать процесс кодирования. В Интернете это может быть API на основе JavaScript, это абстракция базового процесса.

Аналогия настенной розетки

Программируемая сеть опубликовала большую серию статей; что такое API и как они работают? У них есть отличная небольшая аналогия, на которую я хочу сослаться;

Вы можете думать об API в контексте розетки. Электроэнергия - это услуга, а устройство - ее потребитель. Потребитель в этом случае передает свои требования к мощности поставщику услуги. Электрические розетки имеют предсказуемую структуру. Вилка стандартная, и мощность, которую она выдает (вольт), стабильна и в основном одинакового значения. Точно так же API определяет, как программные компоненты должны взаимодействовать друг с другом.

Представьте, как бы вы получили электроэнергию без такого стандарта.

Выгоды

API-интерфейсы могут не только помочь разработчикам писать более качественные программы, но и помочь сообществу вокруг программы в целом благодаря инфраструктуре API;

  • Если API является общедоступным, каждый может подключиться к нему и начать работу над проектами.
  • Остальные программы можно легко перенести, данные остались прежними.
  • Он добавляет уровень абстракции к базовой службе.
  • API делают разработчиков более продуктивными (им не нужно начинать с нуля)

В Интернете это означает, что вы можете передать функции браузеру на аутсорсинг и добавлять данные из других служб. Браузеры предлагают стандартный способ доступа к веб-приложениям, например камерам, аудио и Bluetooth. То же самое для таких сервисов / приложений, как Slack или Twitter. Вы можете использовать Slack API в реальном времени для отправки сообщений без интерфейса Slack с помощью всего нескольких строк кода.

Типы API

Вы можете запросить конкретную информацию, позвонив endpoints с конкретным parameters. Вы в основном запрашиваете у службы подмножества большой базы данных. Нет никаких правил того, как разработчики должны подключать свои собственные приложения к API, но появилось несколько стандартов.

Прежде всего необходимо различать, является ли API общедоступным или частным.

  • Если API является полностью общедоступным, вы можете запрашивать данные без какой-либо дополнительной информации.
  • Если API является общедоступным, вы можете запрашивать данные с public keyпредоставляемым службой. Добавляя ключ при отправке запроса, вы можете выполнять вызовы API. Имейте в виду, что с открытым ключом у большинства API будут ограничения.
  • Если API является частным, вам понадобится ключ, как указано выше, но ключ не является общедоступным. Служба должна лично предоставить вам ключ.

Аутентификация:
Если вы хотите управлять данными от определенного пользователя (пользователь должен войти в систему), большинство API-интерфейсов используют открытый протокол OAuth.

Открытый протокол, обеспечивающий безопасную авторизацию простым и стандартным способом из веб-приложений, мобильных и настольных приложений.

Это позволяет вам взаимодействовать с защищенными данными из определенных данных пользователя. Например; добавлять плейлисты в конкретную учетную запись Spotify без использования интерфейса Spotify.

Rest API:
Большинство интерфейсов в Интернете устанавливают соединения с помощью HTTP protocol. Вы можете запросить данные, используя конечную точку API, адресуемую через Интернет по протоколу HTTP. (GET, PUT, POST & DELETE) Вы можете сделать запрос к определенной конечной точке, и поскольку HTTP-запрос всегда является двусторонним, вы получаете ответ для использования в вашем собственном приложении. В Интернете чаще всего этот ответ имеет формат .json.

RTM API:
Некоторые службы используют несколько иной подход и вместо HTTP protocol они используют API на основе WebSocket, который позволяет получать события в реальном времени. Вместо того, чтобы запрашивать информацию, API может передать информацию вам.

Вы можете добиться подобного результата с помощью Res API с помощью опроса. (Просто очень часто вызывайте конечную точку). Опрос - это то же самое, что и кнопка обновления. Это работает, но это не лучшее решение.

WEB API

Чтобы быть ясным; большая часть этой публикации посвящена API от других сервисов для запроса данных. Существуют также специальные веб-API. Они используются для управления DOM и могут быть доступны с помощью JavaScript с типами объектов. Веб-API расширяют функциональность веб-браузера и, таким образом, зависят от браузера.

  • Стандартные API JavaScript. Это те же основные API-интерфейсы JavaScript и DOM, которые вы можете использовать в стандартных веб-приложениях.
  • Возможности HTML и другие появляющиеся API, зависящие от браузера.

Надеюсь, этот пост проясняет некоторые концепции, связанные с API-интерфейсами, почему вы должны их использовать и почему они крутые⚡️ в целом!

Спасибо за прочтение! Не стесняйтесь обращаться ко мне, если вам есть что сказать!