Есть ли разница между библиотекой и API?


Answers

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

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

Question

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

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

Все это заставляет меня задуматься, в мире веб-кода, фреймворках и open-source, действительно ли есть практическое различие? Может ли библиотека, подобная jQuery или cURL, пересекаться с определением API?

Кроме того, переходят ли рамки в эту категорию? Есть ли часть Rails или Zend, которая может быть более «API-like» или «libraryesque»?

Очень надеюсь на некоторые просветляющие мысли :)




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

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




На понятном и понятном языке

Библиотека: сбор всех классов и методов, хранящихся для повторного использования

API: часть классов и методов библиотеки, которые могут использоваться пользователем в его / ее коде.