1.1 Что такое API и его типы?
2 из 2 шагов пройдено

Что такое 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, которые позволяют разработчикам получать доступ к различным облачным сервисам и функциям.


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

Купил заранее, сначала надо допройти джангу...

Изменен Нарбеков Марсель
Здравствуйте Илья! У вас в тексте, по моему мнению, некорректно составлено предложение. Цитата - "Идея API существует уже довольно давно, чем сам термин." Может поменять? Например на "Идея API, существовала задолго, до появления самого термина".

@Коновалов_Вадим, там слово "дольше" пропущено, хотя ваш вариант тут будет лучше. Исправил, спасибо за помощь в улучшении курса.

Приветствую, коллеги!

Продвинутые возможности на замке пока. Они в разработке еще или надо сначала пройти материалы до 5.13 раздела? :)

@Anonymous_448794662, Добрый день. Они на данный момент в разработке, там установлена дата открытия 15 мая.

Привет Степик! Давно не виделись! А ведь моя профессия началась с тебя =)

Добрый вечер, Илья. Рад снова встретиться с вами на просторах Степика. 

Изменен Агаси Мироян

@Агаси_Мироян, И я очень рад вас видеть!)

Можно ли как то сейчас получить доступ к продвинутым возможностям и докеру?

@Jes_Output, пока данные модули закрыты, они еще не до конца доделаны. Но думаю откроем их раньше установленных сроков.