Подтвердить что ты не робот

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

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

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

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

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

Действительно с нетерпением жду некоторых просвещенных мыслей:)

4b9b3361

Ответ 1

Я считаю, что когда я говорю об API, это означает только те части, которые подвержены программисту. Если я говорю о "библиотеке", то я также подразумеваю все, что работает "под капотом", хотя часть библиотеки все же.

Ответ 2

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

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

Ответ 3

A библиотека содержит повторно используемые фрагменты кода.

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

enter image description here

Например, в процедурных языках, таких как C, библиотека math.c содержит реализации математической функции, такие как sqrt, exp, log и т.д. Она содержит определение всех этих функций.

На эту функцию можно ссылаться с помощью API math.h, который описывает и предписывает ожидаемое поведение.

Ответ 4

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

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

Ответ 5

мы должны сначала определить интерфейс...

Интерфейс: это средство, с помощью которого 2 "вещи" разговаривают друг с другом и обмениваются информацией. "вещи" могут быть (1) человеком или (2) работающим кодом любого типа (например, библиотеки, настольного приложения, ОС, веб-службы... и т.д.).

если человек хочет поговорить с программой, в которой он нуждается Графический пользовательский интерфейс (GUI) или командной строки интерфейс (CLI). оба являются типами интерфейсов, которые хотели бы использовать люди (но не программы).

если, однако, какой-либо исполняемый код (любого типа) хочет поговорить с другим исполняемым кодом (любого типа), ему не нужен или не нужен графический интерфейс или интерфейс командной строки, ему скорее потребуется Application Programming Interface (API).

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

Ответ 6

В ясном и сжатом языке

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

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

Ответ 7

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