Інтерфейс програмування додатків - це

Інтерфейс програмування додатків

Інтерфейс програмування додатків (іноді інтерфейс прикладного програмування) (англ. Application programming interface, API [ей-пі-ай]) [1] - набір готових класів. процедур. функцій. структур і констант. наданих додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах. Використовується програмістами для написання всіляких додатків.

API як засіб інтеграції додатків

API визначає функціональність, яку надає програма (модуль. Бібліотека), при цьому API дозволяє абстрагуватися від того, як саме ця функціональність реалізована.

Якщо програму (модуль, бібліотеку) розглядати як чорний ящик. то API - це безліч «ручок», які доступні користувачеві даного ящика, які він може крутити і смикати.

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

За таким принципом побудовані протоколи передачі даних через Інтернет. Стандартний стек протоколів (мережева модель OSI) містить 7 рівнів (від фізичного рівня передачі біт до рівня протоколів програм, подібних протоколів HTTP і IMAP). Кожен рівень користується функціональністю попереднього рівня передачі даних і, в свою чергу, надає потрібну функціональність наступного рівня.

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

API бібліотеки функцій і класів включає в себе опис сигнатур і семантики функцій.

сигнатура функції

Наприклад, в мові програмування C ++ проста функція однозначно розпізнається компілятором по її імені та послідовності типів її аргументів, що становить сигнатуру функції в цій мові. Якщо функція є методом деякого класу, то в сигнатурі братиме участь і ім'я класу.

У мові програмування Java сигнатуру методу складає його ім'я і послідовність типів параметрів; тип значення в сигнатурі не бере.

семантика функції

Семантика функції - це опис того, що дана функція робить. Семантика функції включає в себе опис того, що є результатом обчислення функції, як і від чого цей результат залежить. Зазвичай результат виконання залежить тільки від значень аргументів функції, але в деяких модулях є поняття стану. Тоді результат функції може залежати від цього стану, і, крім того, результатом може стати зміна стану. Логіка цих залежностей і змін відноситься до семантиці функції. Повним описом семантики функцій є виконуваний код функції або математичне визначення функції.

API операційних систем. Проблеми, пов'язані з різноманіттям API

Практично всі операційні системи (UNIX. Windows. Mac OS. І т. Д.) Мають API, за допомогою якого програмісти можуть створювати додатки для цієї операційної системи. Головний API операційних систем - це безліч системних викликів.

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

З іншого боку, відмінності в API різних операційних систем істотно ускладнюють перенесення додатків між платформами. Існують різні методи обходу цієї складності - написання «проміжних» API (API графічних інтерфейсів WxWidgets. Qt. GTK. І т. П.), Написання бібліотек, які відображають системні виклики однієї ОС в системні виклики інший ОС (такі середовища виконання, як Wine . cygwin. і т. п.), введення стандартів кодування в мовах програмування (наприклад, стандартна бібліотека мови C), написання різних мов, що реалізуються на різних платформах (sh. python. perl. php. tcl. Java. і т. д .).

Також необхідно відзначити, що в розпорядженні програміста часто знаходиться кілька різних API, що дозволяють добитися одного і того ж результату. При цьому кожен API зазвичай реалізований з використанням API програмних компонент нижчого рівня абстракції.

При цьому практично на кожному з рівнів реально існує кілька можливих альтернативних API. Наприклад: ми могли б писати вихідний документ не на HTML, а на LaTeX. для відображення могли б використовувати будь-який браузер. Різні браузери, взагалі кажучи, використовують різні HTML-бібліотеки, і, крім того, все це може бути (взагалі кажучи) зібрано з використанням різних бібліотек примітивів і на різних операційних системах.

Основними труднощами існуючих багаторівневих систем API, таким чином, є:

  • Складність портування програмного коду з однієї системи API на іншу (наприклад, при зміні ОС);
  • Втрата функціональності при переході з нижчого рівня на вищий. Грубо кажучи, кожен «шар» API створюється для полегшення виконання деякого стандартного набору операцій. Але при цьому реально не може, або стає принципово неможливим виконання деяких інших операцій, які надає більш низький рівень API.

Найбільш відомі API

Використовується в веб-розробці, як правило, певний набір HTTP-запитів, а також визначення структури HTTP-відповідей, для вираження яких використовують XML або JSON формати. Web API є практично синонімом для веб-служби, хоча останнім часом за рахунок тенденції Web 2.0 здійснений перехід від SOAP до REST типу комунікації. Веб-інтерфейси, що забезпечують поєднання декількох сервісів в нових програмах, відомі як гібридні.

Примітки

  1. ↑ Часто неправильно вимовляють як [апі]. Використовується і укорочений варіант перекладу - інтерфейс програми.

У цій статті не вистачає посилань на джерела інформації.

Дивитися що таке "Інтерфейс програмування додатків" в інших словниках:

Інтерфейс програмування продуктивних додатків - В інформатиці Performance Application Programming Interface (PAPI) (інтерфейс програмування продуктивних Додатків) стерпний інтерфейс (реалізований у вигляді бібліотеки) для лічильників апаратної продуктивності на сучасних ... ... Вікіпедія

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

ІНТЕРФЕЙС ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ - Набір готових класів, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах. Використовується програмістами для написання всіляких додатків (англ. Application ... ... Словник бізнес-термінів

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

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

Інтерфейс (COM) - Зображення інтерфейсу і реалізує його класу в «Together». COM інтерфейс (від англ. Component Object Model і англ. Interface взаємодія) набір абстрактних функцій і властивостей, через який програмами. Інтерфейс задається абстрактним класом ... Вікіпедія

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

  • Інтерфейс програмування додатків. Джессі Рассел. Ця книга буде виготовлена ​​в відповідності з Вашим замовленням за технологією Print-on-Demand. High Quality Content by WIKIPEDIA articles! Інтерфейс програмування додатків (іноді ... Детальніше Купити за 1125 руб
  • Сервер додатків "Zope". С. Е. Грегер. Розглянуто мову програмування Python і питання застосування додатки ZOPE (Z Object Publishing Environment) для розробки Web-додатків. Дано опис синтаксису мови Python, побудови ... Детальніше Купити за 640 руб
  • Python 3 і PyQt 5. Розробка додатків. Сміла Дронов. Описано мову Python 3: типи даних, оператори, умови, цикли, регулярні вирази, функції, інструменти об'єктно-орієнтованого програмування, робота з файлами ікаталогамі, часто ... Детальніше Купити за 620 руб електронна книга
Інші книги по запросу «Інтерфейс програмування додатків» >>

Схожі статті