Дапамажыце dev.by 🤍
Падтрымаць

Что такое API? Простое объяснение для начинающих

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

Пакінуць каментарый
Что такое API? Простое объяснение для начинающих

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

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

Всемирная паутина и удалённые серверы

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

При введении в адресную строку браузера www.facebook.com на удалённый сервер Facebook отправляется соответствующий запрос. Как только браузер получает ответ, то интерпретирует код и отображает страницу.

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

Jobs-бот найдет работу: подключайте бота в Telegram и получайте подходящие предложения

7 курсов по API, чтобы разобраться в теме
7 курсов по API, чтобы разобраться в теме
Па тэме
7 курсов по API, чтобы разобраться в теме

API как способ обслуживания клиентов

Многие компании предлагают API как готовый продукт. Например, Weather Underground продаёт доступ к своему API для получения метеорологических данных.

Сценарий использования: на сайте небольшой компании есть форма для записи клиентов на приём. Компания хочет встроить в него Google Календарь, чтобы дать клиентам возможность автоматически создавать событие и вносить детали о предстоящей встрече.

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

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

Регистрируйтесь на Currency.com и инвестируйте в токенизированные акции, крипту, сырье.

Чем API Google Календаря отличается от API любого другого удалённого сервера в сети?

Технически, разница в формате запроса и ответа. Чтобы сгенерировать полную веб-страницу, браузер ожидает ответ на языке разметки HTML, в то время как API Google Календаря вернёт просто данные в формате вроде JSON.

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

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

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

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

Таким образом, когда компания предлагает своим пользователям API, это просто означает, что она создала ряд специальных URL, которые в качестве ответа возвращают только данные.

Такие запросы часто можно отправлять через браузер. Так как передача данных по протоколу HTTP происходит в текстовом виде, браузер всегда сможет отобразить ответ. Например, через браузер можно напрямую обратиться к API GitHub (https://api.github.com/users/petrgazarov), причём без маркера доступа, и получить вот такой ответ в формате JSON:

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

Bubble — новый гид по цифровому миру: как войти в айти и хакнуть свою жизнь

Ещё несколько примеров API

Слово «application» (прикладной, приложение) может применяться в разных значениях. В контексте API оно подразумевает:

  • фрагмент программного обеспечения с определённой функцией,
  • сервер целиком, приложение целиком или же просто отдельную часть приложения.

Любой фрагмент ПО, который можно чётко выделить из окружения, может заменять букву «А» в англоязычной аббревиатуре, и тоже может иметь некоторого рода API. Например, при внедрении в код разработчиком сторонней библиотеки, она становится частью всего приложения. Будучи самостоятельным фрагментом ПО, библиотека будет иметь некий API, который позволит ей взаимодействовать с остальным кодом приложения.

В объектно-ориентированном проектировании код представлен в виде совокупности объектов. В приложении таких объектов, взаимодействующих между собой,  могут быть сотни. У каждого из них есть свой API — набор публичных свойств и методов для взаимодействия с другими объектами в приложении. Объекты могут также иметь частную, внутреннюю логику, которая скрыта от окружения и не является API.

Читайте главные ИТ-новости страны в нашем телеграме
Читайте главные ИТ-новости страны в нашем телеграме
Па тэме
Читайте главные ИТ-новости страны в нашем телеграме
Руководители крупных компаний США зарабатывают в среднем на $13 млн больше чем их сотрудники
Руководители крупных компаний США зарабатывают в среднем на $1,3 млн больше, чем их сотрудники
Па тэме
Руководители крупных компаний США зарабатывают в среднем на $1,3 млн больше, чем их сотрудники
Чытайце таксама
10 актуальных и интересных курсов по Rust + бонус от GitHub
10 актуальных и интересных курсов по Rust + бонус от GitHub
10 актуальных и интересных курсов по Rust + бонус от GitHub
В 2010 году Mozilla официально представила новый язык программирования Rust. Версия 1.0 вышла в 2015 году и в первый же год заняла третье место в опросе «Любимый язык программирования» на портале Stack Overflow. В течение последующих лет Rust прочно удерживал лидирующую позицию в этой номинации.  Рассмотрели преимущества и особенности языка, а также собрали курсы по Rust, которые будут интересны как новичкам, так и опытным программистам.
7 каментарыяў
13 курсов по программированию на C++
13 курсов по программированию на C++
13 курсов по программированию на C++
С++, несмотря на свой солидный возраст, продолжает оставаться одним из самых популярных языков программирования с широкой сферой применения: от разработки ПО до создания игр. В сети можно найти достаточно ресурсов, которые помогут освоить этот язык. Мы предлагаем обратить внимание на подборку, подготовленную Digitaldefynd и дополненную нами. В ней собраны как бесплатные, так и платные ресурсы для людей с разным уровнем подготовки и знаний С++.
1 каментарый
7 курсов по API, чтобы разобраться в теме
7 курсов по API, чтобы разобраться в теме
7 курсов по API, чтобы разобраться в теме
API — application programming interface, или «интерфейс прикладного программирования» — служит интерфейсом между программами и облегчает их взаимодействие. Мы собрали список курсов, которые помогут вам разобраться в API и внедрить их в вашу работу.
1 каментарый
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Собрали десять советов для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов. 

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.