Что такое API?
API (Интерфейс прикладного программирования, англ. Application Programming Interface) — это набор правил, протоколов и инструментов, которые позволяют взаимодействовать между различными программами. API определяет, как программы взаимодействуют друг с другом, позволяя обмениваться данными и запросами.
API позволяет разработчикам создавать программное обеспечение, которое использует функциональные возможности других программ или сервисов, без необходимости понимать или изменять внутренние детали этих систем.
С технической точки зрения, API — это код, который управляет всеми точками доступа в приложении или сервере. Когда мы отправляем внешний запрос на эти серверы, API действует как переводчик, который передает эти запросы в приложение и позволяет ему отправить ответ обратно. Другими словами, интерфейс программирования приложений служит посредником, который позволяет нам общаться между внешними системами и приложением и передавать нам обратную связь от приложения.
API могут иметь различные формы в зависимости от контекста. Это может быть интерфейс программирования, который предоставляет набор функций и процедур для программирования приложений. Он также может быть сетевым интерфейсом, который позволяет осуществлять связь между системами по сети, используя такие протоколы, как HTTP. API также может включать стандарты связи, форматы данных, а также методы аутентификации и авторизации.
История создания API
Мы можем разделить историю API на 7 периодов.
1. Первая идея (40-е годы)
Идея API существовала задолго до появления самого термина. В 1940-х годах британские ИТ-специалисты Морис Уилкс и Дэвид Уилер работали над модульной библиотекой программного обеспечения для EDSAC, или раннего компьютера. Они использовали подпрограммы, которые хранились на перфорированной бумажной ленте, помещенной в картотеку. В том же шкафчике также было то, что Уилкс и Уилер назвали "библиотекой". Это были заметки, в которых содержалась информация о каждой подпрограмме и о том, как ее следует использовать в программе. В настоящее время такой "каталог" будет называться API (или спецификацией API или документацией по API), поскольку он предоставляет разработчикам инструкции по использованию (или вызову) отдельных подпрограмм, которые им нужны.
2. API впервые упоминается в 1960-х и 1970-х годах.
Термин "интерфейс прикладной программы" был использован в статье под названием "Структуры данных и методы удаленной компьютерной графики" на конференции AFIPS в 1968 году. Его авторы используют термин API для описания того, как графическая программа взаимодействует с остальной частью компьютерной системы. Благодаря согласованному интерфейсу приложения, который состоит из вызовов подпрограмм на языке Fortran, разработчик смог избежать прямого вовлечения в детали устройства, отображающего графику.
Кристофер Дж. Дата ввел термин API в базы данных в статье 1974 года под названием "Реляционные и сетевые подходы: сравнение интерфейса прикладного программирования". В рамках структуры систем управления базами данных API стал неотъемлемой частью. Эта структура отличала интерфейс программирования приложений от других интерфейсов, таких как интерфейс запросов.
3. Начало разработки интерфейсов для программирования (1980-е годы)
История интерфейсов программирования (API) восходит к началу разработки операционных систем. Первые API-интерфейсы были созданы для того, чтобы разработчики могли создавать приложения, которые работали на определенных платформах. Например, в 1983 году Apple представила Macintosh Toolbox API для операционной системы Macintosh. API операционной системы изначально использовался для связи с устройствами и системными функциями.
4. Эволюция API в эпоху Интернета (1990-е годы)
Развитие Интернета в 1990-х годах. В 1960-х годах появились новые возможности для интеграции и обмена данными. Появились первые веб-API, которые позволяли общаться между различными веб-приложениями. Такие протоколы, как Simple Object Access Protocol (SOAP) и XML-RPC, позволили вызвать удаленные процедуры и обменяться данными в формате XML. Эти технологии легли в основу дальнейших API-решений.
5. REST и новая эра архитектуры API (на рубеже XX и XXI века)
В 2000 году Рой Филдинг представил концепцию архитектуры Representational State Transfer (REST). REST использует стандартные методы HTTP, такие как GET и POST, для работы с ресурсами. Эта архитектура API стала популярной благодаря своей простоте, масштабируемости и простоте реализации. REST позволил создать гибкие и децентрализованные системы, которые можно легко интегрировать.
6. Взрыв социальных API
С появлением социальных сетей, таких как Facebook, Twitter и LinkedIn, появились социальные API. Компании начали выпускать API, которые позволяли разработчикам создавать приложения, использующие их функции. API социальных сетей позволили создать новые социальные платформы, интегрироваться с существующими приложениями и расширить их функциональность.
7. API в эпоху облачных и микросервисов
В последние годы были взрывы облачных технологий и архитектуры микросервисов. С развитием API стал ключевым элементом разработки и управления облачными приложениями. Крупные облачные платформы, такие как Amazon Web Services (AWS), Google Cloud Platform (GCP) и Microsoft Azure, предоставляют обширные API, которые позволяют разработчикам получать доступ к различным облачным сервисам и функциям.
Купил заранее, сначала надо допройти джангу...
