В чем разница между API и веб-сервисами? - PullRequest
15 голосов
/ 20 ноября 2010

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

Так в чем же разница между ними?

Любая помощь!

РЕДАКТИРОВАТЬ

Может кто-нибудь объяснить это на соответствующем примере?

Что такое API Twitter и Facebook? Можно ли сказать, что это просто функция или веб-сервисы для доступа к своим данным.

Ответы [ 10 ]

19 голосов
/ 20 ноября 2010

Веб-сервис - это просто API в HTTP-одежде.

11 голосов
/ 20 ноября 2010

Веб-сервис - это нечто, доставляемое через Интернет для прямого использования другим компьютером (а не человеком).

API - это интерфейс прикладного программирования. Приложение веб-сайта может предоставлять API через веб-сервис. Однако настольные приложения, такие как Excel или Word, имеют API-интерфейсы, которые не имеют ничего общего с Интернетом (они имеют API-интерфейсы на основе VBA и COM).

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

7 голосов
/ 08 июля 2015
  1. Веб-служба - это API, завернутый в HTTP.
  2. Все веб-службы - это API, но API-интерфейсы не являются веб-службами.
  3. Веб-служба может не выполнять все операции, которые выполняет APIбудет работать.
  4. Веб-службе требуется сеть, в то время как API не нужна сеть для ее работы.
7 голосов
/ 07 марта 2011

Все веб-сервисы являются API-интерфейсами, но не все API-интерфейсы являются веб-сервисами. Один является подмножеством другого.

6 голосов
/ 20 ноября 2010

API (интерфейс прикладного программирования) представляет собой список методов и классов, предоставляемых программистом для использования другими программистами, поэтому, например, если вы используете Twitter или Facebook API в своих программах, вы можете заставить его взаимодействовать с Twitter и Facebook, иделать много полезных вещей.: -)

Существует множество способов предоставления доступа к API (файлы JAR или RMI в Java, сборки .net, объекты COM, файлы DLL и .H в C / C ++, JSON по HTTP, XML по HTTP, многиесамодельные методы).

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

6 голосов
/ 20 ноября 2010

API не обязательно должен быть основан на сети.

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

4 голосов
/ 20 ноября 2010

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

Например, в Ruby есть функция с именем FileUtils.rm.Это API;когда вы вызываете функцию из сценария Ruby, она всегда выглядит одинаково.Тогда есть реализация API;это код, который на самом деле удаляет файл - он может выглядеть совершенно по-разному в каждой реализации Ruby, но вам (как правило) это не важно, поскольку вы имеете дело только с Ruby API.

3 голосов
/ 18 февраля 2012

Веб-сервисы доступны через Интернет. Вы можете получить информацию, не имея классов или узнать, как она работает, используя протоколы http и soap.

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

2 голосов
/ 20 февраля 2014

API, предоставляемые через Интернет, являются веб-сервисами

2 голосов
/ 04 марта 2011

Проверьте запись в Википедии о веб-API по адресу http://en.wikipedia.org/wiki/Api#Web_APIs.

Это хорошо написано, хотя в значительной степени согласуется с тем, что говорят другие здесь.

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