У чому саме значення API? [зачинено]


164

Я шукав визначення API в мові програмування, і мені все ще важко зрозуміти.

Чи не може хтось порадити мене простими, непростою умовами:

  1. Що таке API?
  2. Як він використовується?
  3. Коли і де він використовується?

7
Ви спробували спочатку FOLDOC? foldoc.org/API Їх визначення здавалося мені досить "непрофесійним".
Рей Тол

@pst Я би сприйняв це як належне, що ОП вже переглядало Вікіпедію, бо хто не перевіряє Вікіпедію? Неправильний сарказм щодо можливості використання визначення FOLDOC 1995 року перед тим, як перевірити Вікіпедію. Чи слід видалити коментар?
Ray Toal

Якщо ви шукаєте пояснення для непрофесіонала, спробуйте: welcomeetosoftware.com/what-is-an-api (відмова від відповідальності: я це написав)
Сем Малайк

Відповіді:


129

Пошукові запити повинні включати Вікіпедію, що напрочуд добре для низки програм / термінів програмування, таких як Інтерфейс програмування програм :

Що таке API?

Інтерфейс програмування додатків (API) - це певний набір правил («код») та специфікацій, за якими програмні програми можуть дотримуватися для спілкування між собою . Він служить інтерфейсом між різними програмними програмами та полегшує їх взаємодію, подібно до того, як інтерфейс користувача полегшує взаємодію між людьми та комп'ютерами.

Як він використовується?

Так само, як використовується будь-який набір правил.

Коли і де він використовується?

Залежно від сфери та API, природно. Розглянемо наступне:

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

Щасливе кодування.


4
+1 про виклик "дивовижно добре". Для обчислень Вікіпедія - це вершини. Деякі можуть пам’ятати порівняння Вікіпедії з Британікою від Nature: '' 'За даними журналу «Уолл-стріт»: «[Уельс] каже, що радий, що природа вирішила порівнювати теми, пов'язані з наукою», бо в історії та соціальних науках ми багато слабкіший '. В інших областях - включаючи інформатику та історію «Зоряного шляху», - каже він - Вікіпедія - «набагато краще». '' '' (Від dailybarometer.com/forum/… )
Рей Тол

2
@ user166390 Запис у wikipedia на api зараз дуже поганий ... Я пишу apis і цей запис насправді збентежив мене. добре, що ти процитував те, що ти робив, оскільки, мабуть, це стало значно гірше.
eric

Я хочу запитати, чи є PHP-файл, який вводиться в URL-адресу запиту ajax API? Можливо, сам запит ajax вже є API?
Відродження Браунмена

Чи API також використовуються для Інтернету речей? Або як пристрої IoT надсилають та отримують дані?
Патрос

57

API - це інтерфейс, через який ви отримуєте доступ до когось elses-коду або через який чужий код отримує доступ до вашого. Насправді публічні методи та властивості.


4
Останнє речення заслуговує на увагу і може бути розширене на…
tumultous_rooster

45

1) Що таке API?

API - це договір. Обіцянка виконувати описані послуги, коли їх запитують певними способами.

2) Як він використовується?

Відповідно до правил, зазначених у договорі. Вся суть API полягає у визначенні способу його використання.

3) Коли і де він використовується?

Він використовується, коли 2 або більше окремих систем потрібно працювати разом, щоб досягти чогось, що вони не можуть зробити самостійно.


44

Ну а крім усіх відповідей я лише додаю приклад.

Як казали інші, API stands for Application Programming Interfaceчерез які softwares can interact with each other. Зауважте, не взаємодія людини.

Де воно використовується

Приклад: Ви купуєте товар в Інтернеті за допомогою своєї кредитної картки. Ви надасте дані кредитної картки та натисніть кнопку «продовжити». Він підкаже, чи правильна ваша інформація, чи ні. Щоб забезпечити ці результати, на задньому плані є багато речей.

Програма надішле реквізити вашої кредитної картки віддаленій програмі, яка підтвердить вашу інформацію та поверне результат назад у вашу заявку. API використовується в цьому сценарії.

Я сподіваюся, що це допомагає початківцям, які не розуміють насправді, що таке API.

ІНШИЙ ПРИКЛАД

Прогноз погоди

Без API - програма для погоди повинна відкрити сайт weather.com і прочитати деталі, як це робить людина.

За допомогою програми API - Погода надішле повідомлення на weather.com та отримає результат, а потім відобразить його.

ДЖЕРЕЛО - Різні Інтернет-ресурси


2
Ясно , що пояснюється щоденним прикладом Thanku так багато буде корисно для першокурсників , як я
сай

тож у цьому випадку API - це weather.com, який надсилає дані на мої запити? або API - це моя програма, яка надсилає запити, отримує дані та відображає їх якимось чином? чи API - це співвідношення як weather.com, так і мого додатка?
Paweł

1
@ Paweł API буде програмою, яка запитує дані
Гіббс

@ Paweł Подумайте про це так: Для програми є два інтерфейси. По-перше, інтерфейс користувача (інтерфейс) для користувача. По-друге, це API (інтерфейс) для іншої прикладної програми. Таким чином, API між погодовою програмою та weather.com є weather.com.
vpibano

15
  1. API (Application Programming Interface) - це набір визначених функцій та методів взаємодії з базовою операційною системою або іншою програмою чи послугою, що працює на комп’ютері.

  2. Зазвичай він використовується, встановлюючи посилання на бібліотеку у вашому програмному забезпеченні або імпортуючи функцію з dll.

  3. Він використовується в тій чи іншій формі майже у всьому програмному забезпеченні, будучи явно викликаним у вашій програмі або неявно викликаний компілятором.


10

API означає інтерфейс програмування прикладних програм, тобто API - це спосіб взаємодії програми з певною системою / додатком / бібліотекою / тощо.

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

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


Чи API також використовуються для Інтернету речей? Як пристрої IoT надсилають та приймають дані?
Патрос

7

Це набір програмних компонентів, які взаємодіють між собою. Він надає набір функцій, змінних та об’єктних класів для створення програми, операційної системи чи будь-якої іншої речі.


6

Простіше кажучи, я завжди казав, що API - це як перекладач між двома людьми, які розмовляють різними мовами. У програмному забезпеченні дані можуть споживатися або поширюватися за допомогою API (або перекладача), щоб два різні види програмного забезпечення могли спілкуватися. Хороше програмне забезпечення має потужний перекладач (API), який дотримується правил та протоколів щодо безпеки та чистоти даних.

Я "ма Маркетер, не кодер. Це все може бути не зовсім правильно, але це те, що я намагався висловити вже близько 10 років ...


5

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

Джерело


5

Визначте цю ситуацію:

Марк і Ліза таємно пара, і через різницю у віці їм не дозволяють бути разом. Марк і Ліза зустрічаються щовечора, коли ніхто не дивиться. Вони створили свій власний набір правил спілкування, коли настає час. Він стоїть у її саду і кидає маленьку скелю біля її вікна. Ліза знає, що настав час, і відповідає, махаючи з вікна та відкриваючи його потім, щоб Марк міг залізти. Це був приклад того, як працює API. Скеля є початковим запитом до іншого кінця. Інший кінець хвилі відкриває вікно, яке в основному означає "Ласкаво просимо!".

API майже як людська мова, але для комп’ютерів.


3

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

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

Як правило, API називають "контрактом". Це не вірно, принаймні в юридичному сенсі цього терміна, оскільки API не є двосторонньою угодою. Користувач API (як правило, програмне забезпечення вищого рівня) має нульовий вхід в API та його реалізацію. Він може використовувати API такий, який є, або взагалі не використовувати його: взяти або залишити!

Прикладом API в реальному світі є інтерфейси, визначені стандартом 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.