Обучение в IMBA
Мы собрали для тебя подробный список терминов, методик и инструментов, которые встречаются в учебных программах.
API
API расшифровывается как Application Programming Interface – программный интерфейс приложения. Это набор команд, функций, классов и других сведений, который предоставляет та или иная программа для взаимодействия с другой программой. С помощью API можно, например, встроить на страницу сайта определенные элементы какой-нибудь социальной сети. Встроенные публикации «ВКонтакте» или Twitter на веб-ресурсах – результат применения программных интерфейсов. Взаимодействие между сервером и сайтом тоже происходит с их помощью.
Для чего используются API
Знать, что такое
API и как им пользоваться, необходимо каждому программисту. Людям,
занятым в диджитал-сфере, желательно иметь представление о технологии,
даже если сами они не пишут код, потому что применение программных
интерфейсов крайне обширно. Они используются:
- для написания приложений, интегрированных друг с другом. Это может быть что угодно: от бота в мессенджере, сообщающего о входящих на адрес email, до возможности комментировать публикации на стороннем сайте через соцсеть;
- объединения разных программ в единую систему. При этом необязательно знать, как функционирует отдельное приложение, важны лишь API, которые оно предоставляет, и принцип работы с ними.
Функции и принцип работы
Программные интерфейсы в чем-то похожи на сетевые протоколы: эти понятия близки по смыслу, только протоколы отвечают за передачу данных, а API – за связь между разными программами. Работа с ним, если серьезно упростить, выглядит так:
- приложение «А» предоставляет набор классов, библиотек и других сведений, с помощью которых можно пользоваться элементами «А» в другой программе;
- программист приложения «Б» использует эти классы и библиотеки, чтобы встроить в свою программу часть функций «А»;
- при использовании API приложение «Б» связывается с сервером «А», получает оттуда необходимую информацию или выполняет какие-либо действия.
Пользователь, работая с программой и используя возможности другого приложения, зачастую даже не догадывается, что это такой API. Некоторые из них настолько привычны, что даже не воспринимаются как элементы сторонних программ.
Классы и типы. Соответственно, API делятся на два больших класса:
возвращающие. Те, которые возвращают сведения по запросу стороннего приложения. Яркий пример – виджет с погодой или интерактивными картами;
- изменяющие. В результате их действия меняется информация на сервере, к которому обращается API. Пример такого интерфейса – написание комментариев на стороннем сайте с помощью соцсети. То есть пользователь, зашедший на страницу, сможет прокомментировать ее содержимое через аккаунт в социальной сети.
Существует и более широкая классификация – по типу использования и
назначению. Выделяют графические API, которые позволяют отрисовывать
картинку в компьютерных играх или при создании графики, интерфейсы
операционных систем, дающие программисту работать с функциями Windows
или Linux, звуковые, сетевые, серверные и так далее. Зачастую, если
система сложная, у нее есть несколько разных API, позволяющих решить
одну и ту же задачу разными методами.
Открытые и закрытые. По способу использования выделяют:
- частные, или закрытые, API, которые доступны только для разработчиков какого-то внутреннего продукта. С их помощью разные подсистемы одной и той же большой программы связываются между собой;
- внешние, они же открытые API. Их применяют для соединения возможностей разных программ, и доступ к ним свободен для всех, кто хочет интегрировать в свой продукт элементы другого приложения.
Web API для веб-мастеров
Для работы с веб-сайтами используются так называемые Web API, которые, по сути, синоним веб-службы. Они включают в себя HTML-запросы, ответы, которые обычно приходят в формате XML или JSON. С их помощью осуществляется не только интеграция между разными веб-сервисами. Даже для создания и отображения обычной HTML-страницы понадобится применить несколько API: графических примитивов, операционной системы и других. Они крайне широко используются, многие пользователи даже не думают, что это API: сервисы email, поисковые системы, сайты-хранилища – все они масштабно используют программные интерфейсы.
Преимущества API
Очевидно, что без использования интерфейсов создавать полноценные приложения попросту невозможно. Речь идет о стандартных API вроде тех, что позволяют программам взаимодействовать с ОС. Но даже если говорить не о них, а об интерфейсах, которые предлагают популярные соцсети и сайты, технология практически незаменима и имеет множество преимуществ:
- простоту. Для работы с API «Яндекса» не нужно знать, как устроен сам «Яндекс», понадобится только разобраться в библиотеках и функциях, которые он предоставил;
- обилие возможностей. С помощью программных интерфейсов можно реализовывать сложные и масштабные функции. Писать такое с нуля может быть очень сложно или вообще невозможно. Например, агрегатор для покупки авиабилетов просто не сможет функционировать без обмена сведениями с сайтами авиакомпаний;
- совместимость. Один и тот же API может быть совместим с огромным количеством других систем и без проблем использоваться на разных платформах.
Сложности при работе с API
- Если нужно
перенести функциональность одного интерфейса в другой, у программистов
могут возникнуть сложности. Как пример – адаптация программ для Windows
под Mac OS. Операционные системы используют разные API, и для переноса
всех функций программы понадобится изменить все модули, которые
взаимодействуют с ОС.
- При переходе на более высокий (то есть более близкий к пользователю) уровень взаимодействия может потеряться часть функций. Некоторые возможности облегчаются, другие становятся недоступны, или их приходится реализовывать иначе.
Использование в рекламе
Существуют API, о которых обязан знать любой SEO-специалист или интернет-маркетолог. В первую очередь это, конечно, программные интерфейсы поисковых систем.
- Например, API «Яндекс.Директа»: с его помощью можно гибко настраивать рекламные кампании, просматривать статистику, создавать приложения, работающие с контекстной рекламой самостоятельно.
- Сервисы поисковых систем для просмотра статистики и вебмастерские панели тоже требуют использования API.
- Если перед маркетологом стоит цель продвижения в соцсетях, можно интегрировать элементы социальной сети в сайт. Например, демонстрировать пользователям сайта записи в официальном сообществе компании в соцсети.
- Для
сервисов, которые не могут работать без информации с серверов других
ресурсов (яркий пример – разнообразные агрегаторы), использование API
незаменимо.
Наш специалист перезвонит тебе, чтобы рассказать о деталях обучения и ответить на возникшие вопросы