В чем именно смысл API? [закрыто]

164

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

Может ли кто-нибудь посоветовать мне простой, непрофессиональный термин:

  1. Что такое API?
  2. Как это используется?
  3. Когда и где это используется?
Дерек
источник
7
Вы сначала попробовали FOLDOC? foldoc.org/API Их определение мне показалось довольно «непрофессионалом».
Рэй Тоал
@pst Я бы воспринял это как должное, что ОП уже посмотрел Википедию, потому что кто не проверяет Википедию? Неверный сарказм по поводу возможности использования определения FOLDOC 1995 года перед проверкой Википедии. Должен ли я удалить комментарий?
Рэй Тоал
Если вы ищете объяснение непрофессионала, попробуйте: welcometosoftware.com/what-is-an-api (заявление об отказе: я написал это)
Сэм Малаек

Ответы:

129

Поиск должен включать Википедию, которая удивительно хороша для ряда концепций / терминов программирования, таких как интерфейс прикладного программирования :

Что такое API?

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

Как это используется?

Точно так же используется любой набор правил.

Когда и где это используется?

Зависит от области и API, естественно. Рассмотрим это:

  1. Набор инструкций x86 (IA-32) (очень полезно ;-)
  2. BIOS вызов прерывания
  3. OpenGL, который часто выставляется как библиотека C
  4. Основные системные вызовы Windows: WinAPI
  5. Классы и методы в базовой библиотеке Ruby
  6. Объектная модель документа разоблачены браузерами JavaScript
  7. Веб-сервисы , такие как предоставляемые Facebook Graph API
  8. Реализация протокола, такого как JNI в Java

Удачного кодирования.


источник
4
+1 за крик "удивительно хорошо". Для вычислений Википедия - вершины. Некоторые могут вспомнить сравнение Википедии и Британики по Природе: «Согласно Wall Street Journal:« [Уэльс] говорит, что он был рад, что Природа решила сравнить темы, связанные с наукой », потому что по истории и социальным наукам мы очень слабее. В других областях, включая информатику и историю «Звездного пути», говорит он, «Википедия« намного лучше ».« »(Из dailybarometer.com/forum/… )
Рэй
2
@ user166390 Википедия на api теперь довольно плохая ... Я пишу apis, и эта запись меня действительно смутила. хорошо, что вы процитировали то, что сделали, потому что, по-видимому, стало намного хуже.
Эрик
Я хочу спросить, является ли php-файл, который помещается в URL-адрес ajax-запроса, API-интерфейсом, или, возможно, сам ajax-запрос уже является API-интерфейсом?
Пробуждение Браунмана
Используются ли API для Интернета вещей? Или как устройства IoT отправляют и получают данные?
Патрос
57

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

Кли
источник
4
Последнее предложение заслуживает внимания и может быть расширено до ...
tumultous_rooster
45

1) Что такое API?

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

2) Как это используется?

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

3) Когда и где это используется?

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

Agent_L
источник
44

Ну, в дополнение ко всем ответам, я просто добавляю пример.

Как другие говорили, API stands for Application Programming Interfaceчерез что softwares can interact with each other. Обратите внимание, не человеческое взаимодействие.

Где это используется

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

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

Я надеюсь, что это поможет новичкам, которые действительно не понимают, что такое API.

ДРУГОЙ ПРИМЕР

Погода приложение

Без API - приложение Weather должно открывать сайт weather.com и читать подробности, как это делает человек.

С API - приложение Weather отправит сообщение на weather.com и получит результат, а затем отобразит его.

ИСТОЧНИК - Различные онлайн-ресурсы

Gibbs
источник
2
Ясно объяснил на ежедневном примере, спасибо, так много будет полезно для новичков, как я
sai
так в этом случае API-интерфейс weather.com отправляет данные по моему запросу? или API - это мое приложение, которое отправляет запросы, получает данные и отображает их каким-либо образом? или API - это отношение и Weather.com, и моего приложения?
Павел
1
@ Paweł API будет приложением, которое запрашивает данные
Гиббс
@ Paweł Подумай об этом так: у приложения есть два интерфейса. Во-первых, пользовательский интерфейс (интерфейс) для человека. Во-вторых, это API (интерфейс) для другой прикладной программы. Таким образом, API между погодным приложением и weather.com является weather.com.
впибано
15
  1. API (интерфейс прикладного программирования) представляет собой набор определенных функций и методов для взаимодействия с базовой операционной системой или другой программой или службой, работающей на компьютере.

  2. Обычно он используется путем создания ссылки на библиотеку в вашем программном обеспечении или импорта функции из DLL.

  3. Он используется в той или иной форме почти во всех программах, вызывается явно в вашей программе или неявно вызывается компилятором.

Марк Холл
источник
10

API - это интерфейс прикладного программирования, т. Е. API - это способ взаимодействия приложения с определенной системой / приложением / библиотекой / и т. Д.

Например, есть API для ОС (WinAPI), API для других приложений (например, баз данных) и для конкретных библиотек (например, обработки изображений) и т. Д.

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

pupssman
источник
Используются ли API для Интернета вещей? Как устройства IoT отправляют и получают данные?
Патрос
7

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

Мегна Шридхар
источник
6

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

Я маркетолог, а не программист. Возможно, все это не совсем верно, но это то, что я пытался выразить уже около 10 лет ...

Коллин
источник
5

API - это набор команд, функций и протоколов, которые программисты могут использовать при создании программного обеспечения для конкретной ОС или любого другого программного обеспечения. API позволяет программистам использовать предопределенные функции для взаимодействия с операционной системой, а не писать их с нуля. Все компьютерные операционные системы, такие как Windows, Unix и Mac OS, и язык, такой как Java, предоставляют программный интерфейс приложений для программистов.

Источник

Абхишек Джайсвал
источник
5

Попробуй эту ситуацию:

Марк и Лиза тайно являются парой, и из-за разницы в возрасте им не разрешается быть вместе. Марк и Лиза встречаются каждую ночь, когда никто не смотрит. Они установили свой собственный набор правил общения, когда придет время. Он стоит в ее саду и бросает маленький камень в ее окно. Лиза знает, что пришло время, и отвечает, махая из окна и открывая его потом, чтобы Марк мог залезть. Это был пример того, как работает API. Скала - начальный запрос к другому концу. Еще один конец волны, открывается окно, которое в основном означает «Добро пожаловать!».

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

xZero
источник
3

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

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

Обычно API называют «контрактом». Это неверно, по крайней мере, в юридическом смысле этого термина, поскольку API не является двусторонним соглашением. Пользователь API (как правило, программное обеспечение более высокого уровня) имеет нулевой вклад в API и его реализацию. Он может использовать API как есть или не использовать его вообще: принимайте его или оставляйте!

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

Корай Тугай
источник
0

Допустим, вы разрабатываете игру и хотите, чтобы пользователь игры вошел в свой профиль на Facebook (чтобы получить информацию о своем профиле), прежде чем играть в нее, так как ваша игра получит доступ к Facebook? Теперь вот API.Facebook уже написал программу (API) для вас, вы должны просто использовать эти программы в своем игровом приложении. Используя Facebook-API, вы можете использовать их сервисы в своем приложении. Вот хороший и подробный взгляд на API ... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm

Амит Чаудхари
источник
3
И ты на самом деле не сказал, ЧТО это ...:} И это больше не программа, а просто интерфейс. Способ борьбы с какой-то программой.
Kamiccolo
-1

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

источник: http://www.webopedia.com/TERM/A/API.html

Чарлстон Мабини Вита
источник