Другое

Освоение API для чайников: теоретическое и практическое руководство

Lorem ipsum dolor

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

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

API — что это?

API — это аббревиатура, которая получилась от английского выражения «Application Programming Interface». В переводе это означает «интерфейс программного приложения». Слово «интерфейс» в этой расшифровке многих вводит в ступор, потому что все знают, что интерфейс — это некая система управления каким-либо продуктом или некая промежуточная часть, которая связывает пользователя и устройство.

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

API — это тоже «связующая прокладка», только не между пользователем и устройством, а между приложением и приложением. То есть при помощи API одно приложение может взаимодействовать с другим. 

Объяснение API для чайников

Очень часто термин API ассоциируют с другим словом — договор или контракт. Потому что фактически приложение, которое предоставляет API, в его инструкциях указывает, на каких условиях и какую информацию оно готово предоставить. Таким образом, в каждом API присутствуют 3 важные части:

  1. Описание операции, которую может выполнить приложение, предоставляющее API.

  2. Описание информации, которая должна поступить на вход, чтобы приложение выполнило свои обязательства.

  3. Описание информации, которая появится на выходе, после того как приложение выполнит свои обязательства.

Например, на веб-сайте есть форма записи на какое-то мероприятие. Сайт хочет, чтобы эта форма резонировала с Google Календарем пользователя и вносила туда дату записи на мероприятие. В таком случае для пользователя появится возможность создать событие в Календаре и не забыть про мероприятие. Для этого сайт подключает API Гугл Календаря к форме записи мероприятия. Когда форма должным образом заполнится, браузер отправит запрос к API Гугл Календаря, что позволит с разрешения пользователя вносить туда заметку о предстоящем мероприятии. Для пользователя в этом тоже есть плюс — ему не нужно покидать сайт с мероприятиями, чтобы сделать заметку в Гугл Календаре — это произойдет автоматически.

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

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

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

API и программы

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

  • погоду,

  • калькулятор,

  • свежий курс валют,

  • оплату разными способами,

  • карты,

  • свежие новости,

  • конвертеры форматов,

  • редактор изображений или видео,

  • авторизацию через соцсети,

  • перевод текстов,

  • распознавание отпечатка, лица, голоса,

  • библиотеки машинного обучения,

  • и др.

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

Заключение

API — это возможность добавить практически любой функционал или инструмент в свой проект. Иногда возникает вопрос: а как работать с API? В применении API нет ничего сложного. Нужно определиться с инструментом, который вам нужно подключить, потом выяснить, есть ли возможность подключить его по API. Если такая возможность присутствует, тогда нужно прочитать условия, которые сопровождают использование выбранного API. Если все устраивает, тогда можете начинать с ним работать.

Схожие статьи

Хакатон: определение простыми словами и зачем он проводится
Другое

Хакатон: определение простыми словами и зачем он проводится

Профессиональные болезни программистов и медицинские противопоказания
Другое

Профессиональные болезни программистов и медицинские противопоказания

Аргумент комплексного числа — функция arg: значение в математике
Другое

Аргумент комплексного числа — функция arg: значение в математике

Как полюбить программирование и стать настоящим разработчиком ПО?
Другое

Как полюбить программирование и стать настоящим разработчиком ПО?