Блог Seven Winds Studio
Компания

Что такое API и зачем он нужен?


Аббревиатура расшифровывается как Application Programming Interface — это набор готовых классов, функций, процедур, структур и констант. Если говорить понятным языком, то API — это готовый код для упрощения жизни программисту. API создан для облегчения написания того или иного приложения благодаря использованию готового кода (например, функций).

Что такое jQuery


Всем известный jQuery, написанный на JavaScript является тоже своего рода API. Если рассматривать конкретно данный пример, то jQuery позволяет облегчить написание кода. То что обычными средствами JavaScript можно было сделать за 30 строк, в jQuery пишется через 5−6. Если рассматривать API в общем, то можно найти очень много сервисов, предоставляющих решения для разработки. Самый известный на сегодняшний день — это сервис code.google.com, предоставляющий около полусотни разнообразных API! Это и интерфейс для создания Android-приложений, API для работы с AJAX и различные API приложений, которые можно легко подстроить под свой лад.

API — это не готовые решения, это среда, интерфейс для создания своих проектов. Приведем пример: у вас есть собака, но она не понимает человеческий язык. Однако способна «воспринимать» его путём команд, которым её выдрессировали. Если сказать собаке, знающей команду «тапки!»: «Тайга, принеси мне, пожалуйста, тапочки мои со звездочками», оно разве что на кличку ухом поведёт, но тапочки не принесёт. Так вот, API — это набор команд, с помощью которых ваша собака понимает вас и делает то, что вам нужно. Данный пример, приведен для упрощенного восприятия информации: «Что такое API?».


Функции API


В процессе работы элементы механизма API организуют многоуровневую иерархию. При этом подчиненные компоненты также получают подобную структуру. Внутри стандартной сетевой модели OSI выделяют как минимум 7 внутренних уровней. Они классифицируются от физического уровня трансляции бит до приложений, таких как протоколы HTTP и IMAP. Таким образом API верхнего использует функциональность нижнего.
Одним из важных компонентов организации информации при описании API являются библиотеки функций и классов. В их состав входят описания сигнатур и семантики. Здесь API функции — это просто часть механизма интерфейса. В этом случае сигнатура выступает как часть общего объявления функции. С ее помощью выполняется идентификация элемента. В различных языках написания программ она представлена разным способом. Тем самым определяется возможностями ее перезагрузки.

Типы API


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

В отдельные группы выделяют интерфейсы управления графическими компонентами программных модулей (API графических интерфейсов wxWidgets, Qt, GTK и т. п.), операционными системами (Amiga ROM Kernel, Cocoa, Linux Kernel APIruen, OS/2 API, POSIX, Windows API), звуковые (DirectMusic/DirectSound, OpenAL), оконные интерфейсы и так далее. Здесь их разделение определяется уровнем приложения в иерархии и функциональностью. Пользователи компьютерных игр обычно не подозревают, что это графический API обеспечивает им такую быструю отрисовку картинки и поразительную яркость изображений.

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



Зачем нужен API вашему приложению?


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

Мобильное приложение!


Множество мобильных приложений для различных сервисов работают при использовании API этих самых сервисов. Если у вас есть портал, и вы хотите создать под него мобильное приложение на Android/IOS, то переписать систему под единое API — лучшее решение. Вся структура данных систематизируется. Сайт и приложение будут работать через единые каналы данных.

Опенсорс 


открытое программное обеспечение, то есть программное обеспечение с (открытым) исходным кодом. Если у вашего приложения сложилась определенная аудитория, которая пользуется им, почему бы не обернуть это в свою пользу. Создайте API, при помощи которого ваши пользователи при желании смогут создать новые клиенты для вашего приложения, новые сервисы на его основе и, быть может, раскроют новые его грани.

Интерактивное взаимодействие


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

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

Собственный API


Если вы владелец сложных вычислительных мощностей, популярного сервиса или хранилища данных для открытого или полу приватного доступа, то хорошим ходом будет поднять собственное API. Что это даст:

  • Большой поток клиентов;
  • Упрощенный доступ к вашим услугам для партнеров;
  • Удобство статистического анализа использования сервиса.

Максимальное разделение front-end и back-end. Например, при использовании front-end frameworks.

*Фронтенд (англ. front-end) — клиентская сторона пользовательского интерфейса к программно-аппаратной части сервиса.

*Бэкенд (англ. back-end) — программно-аппаратная часть сервиса.