Мы увидим, что делает API, его типы и архитектурные стили.

Что такое API?

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

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

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

1. Приложение — здесь приложение instagram на вашем телефоне взаимодействует с приложением на серверах instagram.

2. Программирование. Как они соединяются друг с другом программно.

3. Интерфейс — когда вы видите интерфейс, всегда думайте об абстракции здесь, когда нажимается кнопка, запрос отправляется на серверы Instagram с вашей фотографией. ваше приложение для телефонов не знает, как работает сервер, оно просто отправляет данные и ждет ответа.

Преимущества

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

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

Независимая от платформы — это означает, что API позволяют подключать код одного языка к другому. Мы все знаем, что у всех языков есть свои преимущества, например, ваш iphone может работать быстро, но не может запускать NodeJS. Таким образом, вы можете создать API, из которого вы можете отправлять запросы из swift, но вычисления будут выполняться на сервере Linux, на котором может работать NodeJS.

Типы API

1. Частные API. Доступ к этим API можно получить только из определенного приложения. Пример — банковские приложения.

2. API-интерфейсы партнеров. Эти API-интерфейсы работают как сервисы, компании предоставляют свои услуги или данные партнерам за деньги. Пример — смс-сервис, [платежный шлюз Stripe.](https://stripe.com/docs/api)

3. Общедоступные API — эти API доступны для всех, что позволяет сторонним разработчикам использовать их для создания чего-либо. Пример [API разработчика Facebook] (https://developers.facebook.com/).

Протокол и архитектура API

API в основном используются для обмена данными и услугами. Это требует некоторых правил, ограничений и архитектурных шаблонов. Сегодня обычно используются три архитектуры API: REST, SOAP и RPC. У каждого из них есть свои правила, ограничения и цели, давайте разберемся с каждым более подробно.

ОТДЫХ

REST означает передачу репрезентативного состояния, он был введен [Роем Филдингом] (https://en.wikipedia.org/wiki/Roy_Fielding). RESTAPI в основном используются, потому что они легкие, хорошо масштабируемые и поддерживаемые. Стиль архитектуры REST состоит из шести ограничений, когда система следует всем этим ограничениям. Это называется RESTful API.

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

МЫЛО

SOAP означает простой протокол доступа к объектам. Хотя RestAPI требует протокола HTTP, службы SOAP не зависят от протокола передачи, но, в отличие от REST, SOAP позволяет передавать только объекты XML в виде данных. что делает его менее эффективным. Хотя это не зависит от протокола передачи, благодаря Интернету почти все работает по HTTP, поэтому для SOAP это не является большим преимуществом.

RPC JSON/RPC XML

RPC — это удаленный процедурный вызов, используемый для выполнения кода от клиента к серверу. Это одна из старейших процедур, в которой в качестве формата данных используется json. В настоящее время он мало используется, аналогично rpc-xml использует xml в качестве кодировки данных.

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