Application programming interface (api)

В чем разница между API и Веб-сервисом?

По сути, и веб-сервис, и API известны как эффективный источник коммуникации. Однако основное различие между этими двумя — это:

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

Однако другие различия между API и веб-сервисом перечислены ниже:

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

API: прагматическое использование

API изначально использовался в качестве метода отправки команд и информации определенного формата с одних программ на другие.

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

API предоставляются теми программами, которые позволяют коммуникации с другими программами.

Представьте, что вы хотите разработать программу.

Вы пишете код и программируете как профессионал.

И что теперь?

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

Но как?

Просто!

Посмотрите на документацию API, чтобы эффективно собрать информацию и проверить список доступных функций.

Чем API Google Календаря отличается от API любого другого удалённого сервера в сети?

Технически, разница в формате запроса и ответа. Чтобы сгенерировать полную веб-страницу, браузер ожидает ответ на языке разметки HTML, в то время как API Google Календаря вернёт просто данные в формате вроде JSON.

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

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

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

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

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

Такие запросы часто можно отправлять через браузер. Так как передача данных по протоколу HTTP происходит в текстовом виде, браузер всегда сможет отобразить ответ. Например, через браузер можно напрямую обратиться к API GitHub (https://api.github.com/users/petrgazarov), причём без маркера доступа, и получить вот такой ответ в формате JSON:

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

Онлайн-курсы, чтобы разобраться с API

Какие протоколы API наиболее распространены?

Вот три наиболее распространенных протокола API, которые должен знать каждый:

SOAP 

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

  • Цель SOAP — обеспечить нейтральность, расширяемость, независимость и многословность.
  • Этот протокол в основном полагается на XML вместе со схемами, которые определяют его как протокол с очень строгой типизацией для обмена сообщениями.
  • Каждая операция, которая будет определяться этой службой, определяется явно вместе со структурой запроса и ответа на основе XML для определенной операции.
  • Каждый входной параметр здесь привязан и определен для такого типа, как строка, целое число или любой другой сложный объект.. 

SOAP помогает разработчикам вызывать процессы, запущенные в различных операционных системах, таких как Linux, macOS, Windows и т. Д., Для авторизации, аутентификации и взаимодействия с XML(Extensible Markup Language). Веб-протоколы, такие как HTTP, работают почти во всех операционных системах; следовательно, SOAP также позволяет своим клиентам вызывать веб-сервисы и получать ответы независимо от платформ и языков.

REST 

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

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

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

GraphQL

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

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

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

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

Что такое API?

API (сокр. от «Application Programming Interface») — это программный интерфейс приложения, который предоставляет разработчику набор функций вместе с описанием того, что эти функции делают. Разработчику необязательно знать, как, например, операционная система создает и отображает диалоговое окно «Сохранить как». Достаточно того, что такой функционал существует и доступен для использования в приложении разработчика.

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

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

API и связь между сервисами

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

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

Это относится и ко многим различным онлайн-сервисам. Существуют API для запроса перевода текста из Google Translate или для размещения комментариев Facebook и т.д.

Стандарт OAuth также определяет ряд API, которые позволяют вам авторизоваться на веб-сайте с помощью других сервисов, например, использовать свои учетные записи Facebook, Google или Twitter без создания новой учетной записи пользователя на текущем веб-сайте. API — это «контракты», которые определяют, как разработчики взаимодействуют с сервисами, и вид выходных данных, которые эти разработчики должны получить обратно.

Преимущество API

Использование API имеет ряд преимуществ.

Мы не нашли весь их список в алфавитном порядке и поэтому выделили несколько самых важных:

  • Они доступны партнерским программам и работают с программами, которые действуют напрямую с покупателями
  • API работают с пре-форматированными ссылками, которые загружаются заранее вместе с ID паблишера, тем самым обеспечивая комиссию паблишера с редиректа пользователей на офер
  • Они предоставляют данные в реальном времени, которые всегда актуальны и невероятно точны
  • Они также предоставляют ответные данные в форматах XML или JSON. Это значит, что паблишер может с легкостью интегрировать необходимый контент.

Как работает RESTful

Например, на сайте отеля есть система бронирования номеров трех типов: эконом, стандарт и люкс. В REST API каждому типу будет присвоен свой URL на странице бронирования:

Такие URL однозначно определяют ресурс на сервисе — данные о доступных номерах каждого класса. Чтобы взаимодействовать с этими ресурсам REST API применяет CRUD-команды протокола HTTP. Например, GET econom для передачи клиенту информации о номерах класса эконом. В RESTful такие запросы будут кэшироваться — клиенту не нужно обращаться к серверу снова при повторном запросе.

Также такая архитектура позволяет расставить приоритеты в обслуживании. Например, использование более производительных серверов для запросов на номера класса люкс. Такую архитектуру легко масштабировать: при появлении новых классов номеров, система будет обращаться напрямуя к ресурсам по новым URL.

Зачем нужен API?

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

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

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

Почему разработчики используют API?

Есть как минимум еще 4 причины, объясняющие интерес программистов к API:

  1. API упрощает и ускоряет создание новых продуктов. Разработчикам не приходится каждый раз изобретать велосипед. Можно взять API нейронной сети TenserFlow, к примеру, и внедрить в свое программное обеспечение, а не создавать собственную систему машинного обучения.
  2. Как я уже отметил выше, программный интерфейс увеличивает безопасность разработки. С помощью него можно вынести ряд функций в отдельное приложение, сделав невозможным их некорректное использование. От человеческого фактора это тоже спасает.
  3. API упрощает настройку связей между разными сервисами и программами. Интерфейс нивелирует необходимость в тесном сотрудничестве создателей различных приложений. Разработчики могут внедрять поддержку сторонних сервисов, вообще не контактируя с их создателями.
  4. Наличие готовых интерфейсов позволяет сэкономить не только время и силы программистов, но и финансы, с которыми часто связано создание новых программных решений.

API-интерфейсы SOAP являются предшественниками REST API

До того, как REST стал самым популярным веб-сервисом, SOAP (Simple Object Access Protocol) был гораздо более распространенным. Чтобы лучше понять REST, полезно иметь некоторое понимание SOAP. Заодно и увидеть, что отличает SOAP и REST.

SOAP — это стандартизированный протокол, который требует XML в качестве формата сообщений для запросов и ответов. Как стандартный протокол, формат сообщения обычно определяется с помощью файла WSDL (язык описания веб-служб).

Файл WSDL определяет разрешенные элементы и атрибуты в обмениваемых сообщениях. Файл WSDL является машиночитаемым и используется серверами, взаимодействующими друг с другом для облегчения связи.

Сообщения SOAP заключены в «конверт», который включает в себя заголовок и тело, используя определенную схему XML и пространство имен. Пример формата запроса и ответа SOAP см. SOAP против REST 101: понимание различий.

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

SOAP по-прежнему используется в enterprise приложениях (особенно в финансовых учреждениях) со связью server-to-server, но в последние годы SOAP вымещается REST, особенно для API открытых сетей.

Как устроен интерфейс

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

Именно по такому принципу API помогает разработчикам настроить взаимодействие между своей и сторонней программой, не задумываясь о деталях их устройства. Можно не знать, как организован backend сайта Центробанка, но вывести на своем сервисе курсы валют через его API. Так, например, на странице для разработчиков «Знакомство с API ВКонтакте» сказано: «Вам не нужно знать в подробностях, как устроена база, из каких таблиц и полей каких типов она состоит, — достаточно того, что API-запрос об этом “знает”».

Курс

Backend-разработчик

Освойте программирование на Go и backend-разработку высоконагруженных приложений, чтобы стать незаменимым специалистом в команде. Дополнительная скидка 5% по промокоду BLOG.

Узнать больше

Примеры API

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

VKAPI

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

Все запросы осуществляются к адресу https://api.vk.com/method/

После слэша идёт наименование используемого API-метода и передаются GET-параметры запроса. Ответ так же приходит по HTTPS в формате JSON.

TELEGRAM BOT API

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

Запросы осуществляются по адресу

https://api.telegram.org/bot(token)/METHOD_NAME

Где token выражает секретный ключ.

Запросы посылаются через HTTPS соединения, название метода указывается через слэш к основному адресу. Ответ приходит в формате JSON.

OPEN WEATHER MAP API

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

Формат работа: HTTP передача по api.openweathermap.org/data/2.5/weather?id= c указанием идентификационного номера желаемого города. Ответ сервера: JSON.

GOOGLE MAPS API

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

Подобные возможности предлагает JavaScript API Google Maps. Модуль полностью скриптовой и работает на стороне браузера, поэтому HTTP-запросы из PHP и формирование заголовков на стороне сервера, как было в других API, нам не нужно.

Например, выставление метки на карте будет выглядеть так:

var mark = new google.maps.Marker({
position: myPOS,
map: map,
title:»Hello!»
});

Что такое API

В общем, API (Application Programming Interface) обеспечивает взаимодействие между двумя системами. Это как винтик, связывающий две детали, или как шестеренка, при помощи которой приводятся в движение две соседние шестеренки (как на картинке ниже).

API — как шестеренка, приводящая в движение две соседние шестеренки

Картинка взята с ресурса Brent 2.0, spinning gears, CC BY-ND 2.0

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

Когда нажимаем кнопки, скрытые функции взаимодействуют с другими компонентами и выдают информацию

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

В конечном счете, разработчики вызывают API незримо для пользователя для извлечения информации в свои приложения. Кнопка в графическом интерфейсе пользователя программно подключена для вызова внешних служб. Например, кнопки Twitter или Facebook, которые взаимодействуют с социальными сетями, или видео Youtube, которые извлекают видео с youtube.com, работают под управлением веб-API.

Для чего используются API

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

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

На что способны API?

Широкое разнообразие API в современных браузерах позволяет наделить ваше приложение большими возможностями. Достаточно посмотреть список на странице MDN APIs index page.

В частности, к наиболее часто используемым категориям API (и которые мы рассмотрим далее в этом модуле) относятся :

  • API для работы с документами, загруженными в браузер. Явный пример — DOM (Document Object Model) API, позволяющий работать с HTML и CSS — создавать, удалять и изменять HTML, динамически изменять вид страницы и т.д. Любое всплывающее окно на странице или появляющееся «на ходу» содержимое — всё это благодаря DOM. Узнайте больше об этой категории API на странице Работа с документами.
  • API, принимающие данные от сервера, часто используются, чтобы обновить небольшие части веб-страницы. Эта, казалось бы, малая деталь оказывает огромное влияние на производительность и поведение сайтов, так как нет необходимости перезагружать всю страницу целиком, если вам нужно просто обновить список товаров или новых доступных историй. Это также сделает приложение или сайт более отзывчивым и «живым». Список API, благодаря которым это возможно, включает: и Fetch API. Вы также могли встретить термин Ajax, описывающий эту технологию. Узнать больше об этой категории API на странице Получение данных от сервера.
  • API для работы с графикой широко поддерживаются браузерами,  самые популярные: Canvas и WebGL, позволяющие программно изменять данные о пикселях, содержащиеся в элементе HTML    для создания 2D и 3D изображений. Например, вы можете нарисовать фигуры, скажем, прямоугольники или круги, импортировать изображение в canvas и применить к нему фильтры, такие как сепия или оттенки серого с помощью Canvas API, или создать сложное 3D-изображение с освещением и текстурами, используя WebGL. Такие API часто используют в сочетании с API создания анимационных циклов (таких как ) и другими для создания постоянно меняющегося изображения на экране, как в мультфильмах или играх .
  • Аудио и Видео API как , Web Audio API, и WebRTC позволяют делать действительно интересные вещи с мультимедиа. Например, создать собственный пользовательский интерфейс (User Interface, UI) для проигрывания аудио/видео, вывод на экран субтитров, записывать видео с веб-камеры для обработки в canvas (см. выше) или для передачи на другой компьютер в видео-конференции, применять звуковые эффекты к аудио-файлам (такие как gain, distortion, panning и т.д.).
  • API устройств — в основном, API для обработки и считывания данных с современных устройств удобным для работы веб-приложений образом. Мы уже говорили об API Геолокации, позволяющем считать данные о местоположении устройства. Другие примеры включают уведомление пользователя о появившемся обновлении для веб-приложения с помощью системных уведомлений (см. Notifications API) или вибрации (см. Vibration API).
  • API хранения данных на стороне пользователя приобретают всё большее распространение в веб-браузерах — возможность хранить информацию на стороне клиента очень полезна, когда необходимо создать приложение, которое будет сохранять своё состояние между перезагрузками страницы, или даже работать, когда устройство не в сети. В данный момент доступно немало таких API. Например, простое хранилище данных в формате имя/значение (name/value)  Web Storage API или хранилище данных в формате таблиц IndexedDB API.

Существует множество сторонних API; некоторые из наиболее популярных, которые вы рано или поздно будете использовать, включают:

  • Twitter API для добавления такой функциональности, как показ последних твитов на сайте.
  • Google Maps API для работы с картами на веб-странице (интересно, что Google Maps также использует этот API). Теперь это целый набор API, который может справляться с широким спектром задач, как свидетельствует Google Maps API Picker.
  • Набор Facebook API позволяет использовать различные части платформы Facebook в вашем приложении, предоставляя, например, возможность входа в систему с логином Facebook, оплаты покупок в приложении, демонстрация целевой рекламы и т.д.
  • YouTube API, предоставляющий возможность встраивать видео с YouTube на вашем сайте, производить поиск, создавать плейлисты и т.д.
  • Twilio API — фреймворк для встраивания функциональности голосовой и видео связи в вашем приложении, отправки SMS/MMS из приложения и т.д.

Note: вы можете найти информацию о гораздо большем количестве сторонних API в Каталоге Web API.

Что значит API

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

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

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

Плюсы:

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

Минусы:

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

Web API

Используется в веб-разработке, как правило, определенный набор HTTP-запросов, а также определение структуры HTTP-ответов, для выражения которых используют XML или JSON форматы. Web API является практически синонимом для веб-службы, хотя в последнее время за счет тенденции Web 2.0 осуществлен переход от SOAP к REST типу коммуникации. Веб-интерфейсы, обеспечивающие сочетание нескольких сервисов в новых приложениях, известны как гибридные.

Web для распространения контента

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector