Что такое API?

Что такое API?

skaynet1996


Если говорить попроще, API — просто конструкт, который абстрагирует части сложного кода (JavaScript DOM API) или обеспечивает связь между кодовыми базами (между фронтендом и бэкендом, например). API также могут быть очень полезны для «соединения» языков программирования и передачи данных из кода на одном языке в код на другом.


Цель API - сделать вашу жизнь как разработчика проще. Как они это делают? Объединяя совокупность функций / функций и выставляя эти функции через конечные точки (обычно шаблоны URL, используемые для взаимодействия с API). Эти конечные точки являются единственным способом взаимодействия с любым API. Каждая конечная точка будет иметь определенный формат для своих запросов и ответов - вы обычно найдете этот формат в документации API.

Представьте себе электрические приборы в своем доме. Если вы хотите использовать какой-то прибор, вы вставляете его вилку в розетку — и он работает. Вы не пытаетесь каждый раз вручную скручивать провода — это неэффективно, а если вы не электрик, то еще и небезопасно.

Виды API

API бывают разных видов, и об этом стоит знать и помнить. Есть програмноцентричные API, как в Java (они позволяют объектам общаться друг с другом) и веб-центричные API, такие как REST API (Representational State Transfer), GraphQL API и многие другие.


Основные сложности виды многоуровневых API

Основными сложностями существующих многоуровневых систем API, таким образом, являются:

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

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

Например: для того, чтобы увидеть в браузере строчку «Hello, world!», достаточно лишь создать HTML-документ с минимальным заголовком и простейшим телом, содержащим данную строку. Когда браузер откроет этот документ, программа-браузер передаст имя файла (или уже открытый дескриптор файла) библиотеке, обрабатывающей HTML-документы, та, в свою очередь, при помощи API операционной системы прочитает этот файл и разберётся в его устройстве, затем последовательно вызовет через API библиотеки стандартных графических примитивов операции типа «очистить окошко», «написать „Hello, world!“ выбранным шрифтом». Во время выполнения этих операций библиотека графических примитивов обратится к библиотеке оконного интерфейса с соответствующими запросами, уже эта библиотека обратится к API операционной системы, чтобы записать данные в буфер видеокарты.

При этом практически на каждом из уровней реально существует несколько возможных альтернативных API. Например: мы могли бы писать исходный документ не на HTML, а на LaTeX, для отображения могли бы использовать любой браузер. К тому же различные браузеры используют различные HTML-библиотеки, и, кроме того, всё это может быть собрано с использованием различных библиотек примитивов и на различных операционных системах.

Наиболее распространённые области применения API: 

мобильные приложения, автоматизация взаимодействия с партнерами, создание экосистем и открытых платформ для доступа к новым рынкам, использование аналитики, IoT и извлечение выгод от накопленных в организациях обширных информационных активов.

Report Page