Что такое web api
Перейти к содержимому

Что такое web api

  • автор:

Клиентский веб API

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

Прежде чем начать

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

Естественно знание HTML и CSS здесь также необходимо.

Примечание: Если вы работаете на устройстве, где у вас нет возможности создавать свои собственные файлы, вы можете проверить большинство примеров кода в онлайн-программах вроде JSBin или Thimble.

Руководства

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

При написании веб-страниц и приложений вы чаще всего будете управлять каким-либо образом веб-документами. Обычно это делается с помощью Document Object Model (DOM), набора API-интерфейсов для управления HTML-разметкой и стилями, которые используют объект Document . В этой статье мы рассмотрим, как использовать DOM, а также некоторые интересные API, которые могут изменить рабочую среду интересными способами.

Другой очень распространённой задачей в современных веб-сайтах и приложениях является получение отдельных элементов данных с сервера для обновления разделов веб-страницы без необходимости загрузки абсолютно новой страницы. Эта, казалось бы, небольшая деталь оказала огромное влияние на производительность и поведение сайтов, поэтому в этой статье мы объясним концепцию и рассмотрим технологии, которые позволяют это, например XMLHttpRequest и Fetch API.

API, которые мы рассматривали до сих пор, встроены в браузер, но не все API встроены в браузер. Многие крупные веб-сайты и сервисы, такие как Google Maps, Twitter, Facebook, PayPal и т.д. предоставляют API-интерфейсы, позволяющие разработчикам использовать свои данные (например, показывать ваш Twitter-поток в вашем блоге) или сервисы (например, отображение пользовательских карт Google на вашем сайте, или с помощью входа в систему Facebook для входа в систему пользователей). В этой статье рассматривается различие между API браузера и сторонними API и показано типичное использование последнего.

В браузере содержатся очень мощные инструменты графического программирования, начиная с языка Scalable Vector Graphics (SVG) и заканчивая API для рисования элементов HTML (см. The Canvas API и WebGL). В статье содержится введение в Canvas API и дополнительные ресурсы, чтобы вы могли узнать больше.

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

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 3 авг. 2023 г. by MDN contributors.

Что такое API в веб-приложениях и зачем он нужен

Начнем с основ: что такое API? Аббревиатура расшифровывается как Application Programming Interface, или интерфейс для программирования приложений. Название, вроде бы, говорит само за себя, но лучше рассмотреть более детальное объяснение.

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

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

API в веб-приложениях на примерах

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

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

На основе API строятся такие вещи, как карты 2GIS, всевозможные мобильные и десктопные клиенты для Twitter и Vkontakte. Все их функции стали возможными именно благодаря тому, что соответствующие сервисы имеют качественные и детально документированные API.

Стандартный запрос данных от стороннего API выглядит примерно так:

curl https://api.github.com/users/Freika 

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

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

 "login": "Freika", "id": 3738638, "avatar_url": "https://avatars.githubusercontent.com/u/3738638?v=3", "gravatar_id": "", "url": "https://api.github.com/users/Freika", "html_url": "https://github.com/Freika", "followers_url": "https://api.github.com/users/Freika/followers", "following_url": "https://api.github.com/users/Freika/following", "gists_url": "https://api.github.com/users/Freika/gists", "starred_url": "https://api.github.com/users/Freika/starred", "subscriptions_url": "https://api.github.com/users/Freika/subscriptions", "organizations_url": "https://api.github.com/users/Freika/orgs", "repos_url": "https://api.github.com/users/Freika/repos", "events_url": "https://api.github.com/users/Freika/events", "received_events_url": "https://api.github.com/users/Freika/received_events", "type": "User", "site_admin": false, "name": "Evgeniy", "company": "", "blog": "http://frey.su/", "location": "Barnaul", "email": "", "hireable": true, "bio": null, "public_repos": 39, "public_gists": 13, "followers": 15, "following": 21, "created_at": "2013-03-01T13:48:52Z", "updated_at": "2014-12-15T13:55:03Z" > 

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

Записаться Хочешь узнать ещё больше? Записывайся
на обучение к нашим менторам

Зачем нужен API вашему приложению?

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

  1. Мобильное приложение! Да-да, множество мобильных приложений для различных сервисов работают при использовании API этих самых сервисов. Вы описали API, сделали простенькое мобильное приложение и клиент со смартфоном будет получать информацию в свое устройство именно через API. Это удобно, это разумно, это имеет смысл.
  2. Опенсорс. Все становится лучше, если использовать опенсорс 🙂 На самом деле, если у вашего приложения сложилась определенная аудитория, которая пользуется им, почему бы не обернуть это себе на пользу? Ну и на пользу аудитории, конечно же, тоже. Создайте API, при помощи которого ваши пользователи при желании смогут создать новые клиенты для вашего приложения, новые сервисы на его основе и, быть может, раскроют новые его грани.
  3. Максимальное разделение фронтенда и бэкенда. Например, при использовании фронтенд-фреймворков. О том, как подключить фронтенд-приложение на Angular.js к API мы даже написали целую статью.
Одного API недостаточно

Создать полноценный API для своего приложения – лишь половина дела. Как вы предполагаете обращаться к API? Как к нему будут обращаться ваши пользователи?

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

Еще раз воспользуемся Github для приведения примера: для работы с АПИ этого прекрасного сервиса (а интерфейс у него предоставляет обширнейшие возможности) создано несколько библиотек на различных языках, например гем Octokit. В документации к таким библиотекам (и приведенному в качестве примера гему) любой заинтересованный разработчик сможет отыскать все необходимые способы получения информации от Гитхаба и отправки её обратно через API сервиса.

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

Полезные ссылки

По ссылкам ниже вы сможете прочитать о том, почему API – это хорошо и о том, что такое RESTful API и зачем придерживаться подхода REST.

  • Why We Finally Built an API, and Our Plan to Make It Succeed
  • Learn REST: A RESTful Tutorial
  • Why Every Brand Needs an Open API for Developers – Как подключить Angular.js к API бакенду

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

© Copyright 2014 — 2023 mkdev | Privacy Policy

Что такое WEB API?

Да, так можно сказать. Я бы сказал, что web-api это если любой вид запроса по протоколу http возвращает машиночитаемый результат. т.е. результат который предназначен для программного разбора, а не чтения пользователем

9 ноя 2016 в 11:00

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

  1. Какое определение можно дать для WEB API и зачем он нужен?

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

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

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

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

  1. Можно ли сказать что если сервер на POST или GET запрос возвращет в ответ контент в формате JSON, то это у меня WEB API?
  1. Являются ли web-сервисами, например WCF, WEP API?

WCF и ASP.NET Web API — это фреймворк/библиотека с помощью которой вы можете организовать работу WEB-API в вашем приложении.

Веб-сервис и API | Что такое веб-сервис и API?

Техническая статья из области расчета конструкций и использования программ Dlubal Software

База знаний

Функции

Эта статья была переведена Google Translator

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

А теперь вернемся к программному обеспечению Dlubal. В нашем случае клиентом является ваша среда программирования (.NET, Python, JavaScript), а сервером – RFEM 6, Коммуникация клиент-сервер позволяет отправлять запросы и получать обратную связь от RFEM, RSTAB или RSECTION.

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

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

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

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

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