API: что значит эта технология и для чего она нужна

Что такое API, где используется данная технология и почему без нее перестанут работать многие программы и почти все онлайн-сервисы, рассказывают специалисты ИТ-агентства BGStaff.

время на прочтение: 2 мин.

Просматривая вакансии тестировщиков и разработчиков, можно очень часто встретить аббревиатуру API. Работодатель невольно задумается: может, и нам стоит включить знание технологии в список требований? А большинство программистов отмахнется: есть вещи и поважнее.

Так что же такое API, что означает это понятие, как этот инструмент применяется в разработке и какие ИТ-специалисты с ним работают?

Что значит IP: интерфейс, контракт, набор функций

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

Примеры:

  • быстрая регистрация аккаунта в соцсети;
  • оплата в интернет-магазине (происходит через интерфейс платежной системы);
  • возможность просмотреть ролик с YouTube в Google.

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

Если вы поняли, для кого и чего нужен API, попробуем взглянуть на него с точки зрения разработчиков.

Технически это контракт (по-русски договор), предоставляемый программой. «Вы можете обратиться ко мне таким образом, а я взамен буду выполнять конкретные функции». Существует даже стиль разработки, использующий это понятие — Contract first. Согласно ему, первым этапом является создание контракта, и только потом идет написание кода.

Посмотрим, что входит в программный интерфейс:

  • информация, поступающая на вход;
  • выполняемая операция;
  • информация, получаемая на выходе.

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

Кто работает с API

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

Что делает API в целом, где применяется? Интерфейс прикладного программирования предназначен для упрощения процесса разработки, поэтому логично, что он используется практически во всех сферах ИТ. Круг применения инструмента широк — от фронтенда до тестирования. Но что касается непосредственной работы с API — это привилегия в основном backend-разработчиков, которые реализуют серверную часть. 

Все прогеры проходят через использование API. Джуниоры, достигнув определенного уровня в написании кода, пробуют работать с реальными данными, и уже тут им не отвертеться от использования интерфейса. Зато это позволяет создавать действительно красивые и крутые сайты. Забавно, что все современные юзеры постоянно пользуются API, не понимая этого. Нажимая «Оплатить» или «Загрузить», пользователь не подозревает, какую магию он задействует.

API-тесты позволяют опуститься на ступеньку ниже и выкинуть все лишнее. Несмотря на частое употребление термина «тестирование API», он несколько неверен. Тестируют функциональность через API, а не сам интерфейс. Но словосочетание настолько устоялось, что разработчики используют его чаще, чем фразу «тестирование ЧЕРЕЗ API».

Говоря о том, что значит API для тестировщика, мы подразумеваем два варианта:

  • интеграцию (общение) между системами;
  • умение автоматизировать (автотесты).

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

Если вы видите в объявлении пункт «тестирование API», с большей вероятностью это будет запрос на умение вызывать REST или SOAP сервис и тестировать его. Но кандидатам лучше уточнять этот момент, а работодателю перед выкладыванием вакансии — советоваться с теми, кто разбирается в этом.