HDG объясняет: что такое API?


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

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

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

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

Что такое API и как он работает?

Теперь, когда мы установили, что API — это набор процедур, которые направляют программное обеспечение в правильном направлении, как именно все это работает?

Лучший способ объяснить основные функции API — привести пример из реальной жизни. Службы доставки еды, такие как GrubHub, сейчас невероятно популярны, поэтому давайте обсудим, как может работать код подобных мобильных приложений.

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

9

Чтобы запланировать доставку, должно произойти соединение между веб-сайтом доставки и базой данных: веб-сайт является интерфейсом, а база данных — сервером. В базе данных хранятся данные обо всех этих ресторанах, их доступности в каждом месте, графике работы, меню и т. д.

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

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

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

Какие типы API существуют?

Существует несколько различных типов протоколов API, но наиболее популярными являются SOAP (простой протокол доступа к объектам), REST (передача репрезентативного состояния) и RPC (удаленный вызов процедур).

API SOAP

SOAP был впервые представлен в конце 1990-х годов и позволил приложениям простым способом совместно использовать ресурсы посредством сетевых подключений. SOAP опирается на стандартные протоколы, такие как HTTP и SMTP, которые позволяют использовать его практически в любой среде из-за популярности таких протоколов.

Его главная сила в том, что он широко используется и признан. Если оно не сломано, не чините его.

REST API

REST был представлен в 2000 году Роем Филдингом. Его непосредственной целью было стать ответом на многие проблемы, возникшие в результате широкого внедрения SOAP.

Подобно SOAP, REST использует HTTP для передачи информации между приложениями. Однако одно из основных отличий этого протокола от SOAP, который требует передачи данных в формате XML, заключается в том, что он поддерживает JSON. JSON — это формат данных, который, по мнению многих, легче читать и писать. Кроме того, REST API могут кэшировать данные, что значительно повышает производительность.

По данным отчета Cloud Elements за 2017 год, на REST приходится более 80 % всех API.

API RPC

API-интерфейсы RPC бывают разных видов, но, как мы узнали из API-интерфейсов REST, JSON — очень популярный формат данных, поэтому наиболее популярным из них является JSON-RPC.

JSON-RPC — это протокол, который лучше всего подходит для минималистов и пользователей, которые полагаются на простоту своего API. Его область применения намного уже по сравнению с SOAP и REST, а также он очень ограничен в своей гибкости и наборе команд, но для некоторых разработчиков меньше значит лучше.

Существуют и другие типы API на основе RPC, например gRPC, но JSON-RPC подойдет, если вам важна простота реализации..

Кто использует API?

Разработчики любого рода, будь то интерфейсные или серверные, должны иметь опыт работы с API. Что касается веб-сайтов или веб-сервисов, практически все основные игроки имеют тот или иной API, наиболее очевидным из которых является Windows.

Поскольку Microsoft Windows является самой популярной операционной системой на планете, вполне естественно, что разработчикам приложений понадобится набор рекомендаций по взаимодействию с ее пользовательским интерфейсом. Без доступа к Windows API программирование приложения, которое в значительной степени зависит от взаимодействия с операционной системой, было бы серьезной головной болью.

Существуют тысячи API, как бесплатных, так и платных. Вот лишь несколько примеров, на которые стоит обратить внимание:

  • API разработчика Google Play : Задачи по публикации и управлению приложениями, связанными с Google Play.
  • API Skyscanner : API-интерфейсы для путешествий, связанные с рейсами, прокатом автомобилей и т. д.
  • API Twilio : позволяет программно отправлять и принимать телефонные звонки.
  • API Discord : Позволяет пользователям создавать ботов, которые делают Discord тем сервисом обмена сообщениями, которым он является сегодня.
  • API IPinfo : Мгновенная передача данных об IP-адресе и геолокации вашего веб-сайта или приложения.
  • API являются одними из ключевых связующих элементов некоторых крупнейших и наиболее важных веб-сайтов и приложений. Хотя рядовой пользователь, возможно, не сможет увидеть преимущества API, они являются настоящей находкой для разработчиков и веб-сервисов.

    .

    Похожие сообщения:


    31.01.2020