Найти в Дзене
CodeGenerator

Что такое API?

API - расшифровывается как Application Programming Interface (Программный интерфейс приложения). По сути интерфейс - это договор, описание способов взаимодействия между программами, как они могут общаться и передавать данные друг другу. Приходя в любимое кафе вы взаимодействуете с официантом. Вы можете попросить меню, сделать заказ, попросить счет. Официант - является интерфейсом вашего взаимодействия с рестораном. Вам не нужно знать как готовиться то или иное блюдо, ингредиенты, как рассчитывать чек, все это сделает кафе и отдаст вам результаты при помощи официанта, который в данном примере представляет собой API ресторана. От вас скрываются сложные детали и просто происходит общение между двумя системами: клиентом и рестораном. Вернемся к компьютерам и возьмем API центрального банка РФ. Сюда можно отправить какой-то запрос и получить какой-то ответ. Предположим что мы хотим узнать курс доллара к рублю. В таком случае нам необходимо чтобы браузер сделал заброс к API банка, получить
Оглавление

API - расшифровывается как Application Programming Interface (Программный интерфейс приложения). По сути интерфейс - это договор, описание способов взаимодействия между программами, как они могут общаться и передавать данные друг другу.

Примеры

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

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

Из чего состоит API?

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

Из этого следует, что API состоит из двух частей:

  • интерфейс взаимодействия;
  • описание, которое отвечает на вопрос: "А как этой штукой пользоваться?"

У чего есть свои API?

Взаимодействие может быть не только между клиентом и сервером, но и между серверами. Например решили вы полететь на Мальдивы, купили билет на сайте, а он вам еще и погоду показывает. Как же так? Неужели у компании по продаже билетов есть метеорологические датчики по всему миру, которые сообщают о погоде? Конечно нет! Сайт турагентства взаимодействует с каким-то сервисом погоды по API, который как раз и занимается погодными данными.

Кстати API есть не только web сервисов, где общение происходит по протоколу HTTP. API есть и у операционных систем для взаимодействия с ней и железом. Например, если вы создаете аналог instagram, вам необходимо взаимодействовать с API системы, которая уже знает как работать с камерой, а не придумывать, что-то свое с нуля, еще и для миллиона разных устройств.

  • У всех операционных систем. Через API реализован ввод данных с клавиатуры, вывод на экран, хранение данных. Разработчики не работают с устройствами напрямую, а пользуются API, которое им предоставляет операционная система.
  • У программных библиотек, утилит и фреймворков. Благодаря им разработчик может может использовать уже готовый код для своих потребностей.
  • У веб-сервисов. В этом случае API помогает интегрировать одни сервисы в другие.

Чаще всего, под API подразумевают именно третий вариант.

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

Способы доступа API

По способу доступа все программные интерфейсы можно разделить на три типа:

  • Публичные. У них полностью открытый код и разработчики могут использовать их функционал бесплатно. Такие API распространяют с целью продвижения. Например, агрегаторы авиабилетов разрешают встраивать информацию о ценах на сторонние сайты, потому что заинтересованный пользователь может перейти по ссылке и совершить покупку.
  • Партнерские. Их создают для продажи клиентам или партнерам компании. Обычно за использование таких API взимают плату.
  • Внутренние. Программные интерфейсы разрабатывают внутри компании и применяют для интеграции с другими собственными продуктами.

Преимущества работы с API

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

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

Преимущества использования API:

  • Безопасность. Небольшим компаниям трудно соблюдать все правила информационной безопасности при разработке программного продукта. Вместо этого можно воспользоваться готовыми API, которые создали крупные корпорации. Например, так работают модули платежных систем на сайтах.
  • Экономия денег. Разрабатывать с нуля всю функциональность приложения - сложно и дорого. Программисты постоянно пользуются готовыми решениями. Например, фреймворками - каркасами приложений или библиотеками - кусками готового кода. Через API они могут подключить готовый модуль, который уже реализовали сторонние разработчики.
  • Интеграция с популярными сервисами. Разработчик может написать собственную систему авторизации на сайте, но не собственную картографию. Также зачастую есть необходимость подключить к сайту решения партнеров. Например, интернет-магазины интегрируют у себя модули служб доставки. За все эти взаимодействия отвечают API.