Что такое API?

Оглавление:

Что такое API?
Что такое API?

Видео: Что такое API?

Видео: Что такое API?
Видео: KDE 5.24 как установить в Kubuntu 21.10? - YouTube 2024, Апрель
Anonim
Вероятно, вы видели термин «API». Операционная система, веб-браузер и обновления приложений часто объявляют о новых API для разработчиков. Но что такое API?
Вероятно, вы видели термин «API». Операционная система, веб-браузер и обновления приложений часто объявляют о новых API для разработчиков. Но что такое API?

Интерфейс прикладного программирования

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

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

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

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

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

API упрощают жизнь для разработчиков

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

Например, если вы хотите встроить веб-браузер для отображения одной или нескольких веб-страниц, вам не нужно программировать собственный веб-браузер с нуля только для вашего приложения. Вы используете WKWebView API для встраивания веб-браузера WebKit (Safari) в приложение.

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

Это относится ко всем платформам. Например, вы хотите создать диалоговое окно в Windows? Для этого есть API. Хотите поддерживать аутентификацию отпечатков пальцев на Android? Для этого есть API, так что вам не нужно тестировать каждый датчик отпечатков пальцев любого производителя Android. Разработчикам не нужно повторно изобретать колесо снова и снова.

API-интерфейсы Контроль доступа к ресурсам

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

Например, если вы когда-либо посещали веб-сайт и видели в своем браузере сообщение о том, что веб-сайт запрашивает ваше точное местоположение, этот веб-сайт пытается использовать API геолокации в вашем веб-браузере. Веб-браузеры предоставляют API-интерфейсы, подобные этому, чтобы веб-разработчикам было легко получить доступ к вашему местоположению - они могут просто спросить «где вы?», И браузер делает тяжелую работу по доступу к GPS или соседним сетям Wi-Fi, чтобы найти ваше физическое местоположение.

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

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

Файловые системы, которые используют разрешения, как и в Windows, Mac и Linux, имеют те права, которые применяются API файловой системы. Типичное приложение не имеет прямого доступа к необработанному физическому жесткому диску. Вместо этого приложение должно получить доступ к файлам через API.

API используются для связи между службами

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

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

Это относится ко многим различным онлайн-сервисам. Существуют API для запроса перевода текста из Google Translate или вложения комментариев Facebook или твитов из Twitter на веб-сайте.

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

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

Рекомендуемые: