Вы, вероятно, видели термин «API». Обновления операционной системы, веб-браузера и приложений часто объявляют о новых API для разработчиков. Но что такое API?

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

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

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

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

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

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

API-интерфейсы облегчают жизнь разработчикам

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

Например, если вы хотите встроить веб-браузер для отображения одной или нескольких веб-страниц, вам не нужно программировать собственный веб-браузер с нуля только для своего приложения. Вы используете API WKWebView для встраивания объекта браузера 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, поэтому браузер может контролировать доступ к оборудованию и ограничивать возможности приложений.

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

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

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

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

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

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

СВЯЗАННЫЙ: Что такое OAuth? Как работают эти кнопки Facebook, Twitter и Google

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


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

Изображение предоставлено: patpitchaya /Shutterstock.com.

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Android

Samsung перехватывает чехлы