API


Интерфейс прикладного программирования ( API ) представляет собой соединение между компьютерами или между компьютерными программами . Это тип программного интерфейса , предлагающий услуги другим программам . [1] Документ или стандарт, описывающий, как построить или использовать такое соединение или интерфейс, называется спецификацией API . Говорят, что компьютерная система, соответствующая этому стандарту, реализует или предоставляет API. Термин API может относиться либо к спецификации, либо к реализации.

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

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

Термин API часто используется для обозначения веб-API , [2] которые обеспечивают связь между компьютерами, объединенными Интернетом . Существуют также API для языков программирования , программных библиотек , компьютерных операционных систем и аппаратного обеспечения . API возникли в 1940-х годах, хотя сам термин появился только в 1960-х и 1970-х годах.

При создании приложений API (интерфейс прикладного программирования) упрощает программирование, абстрагируя базовую реализацию и предоставляя только те объекты или действия, которые нужны разработчику. В то время как графический интерфейс для почтового клиента может предоставить пользователю кнопку, которая выполняет все шаги для получения и выделения новых электронных писем, API для ввода/вывода файлов может предоставить разработчику функцию , которая копирует файл из одного места в другое без требуя, чтобы разработчик понимал операции файловой системы , происходящие за кулисами. [3]

Первоначально термин API описывал интерфейс только для программ, ориентированных на конечного пользователя, известных как прикладные программы . Это происхождение до сих пор отражено в названии «интерфейс прикладного программирования». Сегодня этот термин стал более широким, включая также служебное программное обеспечение и даже аппаратные интерфейсы . [5]


Диаграмма 1978 года, предлагающая расширить идею API, чтобы он стал общим программным интерфейсом, выходящим за рамки только прикладных программ . [4]
Хотя люди, придумавшие термин API, реализовывали программное обеспечение на Univac 1108 , цель их API состояла в том, чтобы сделать возможными аппаратно-независимые программы. [6]