Введение в API
Автоматический перевод Google
под редакцией Артема Стукалова и Дениса Бескова
Книга и мини-курс Брайана Кукси
(Brian Cooksey), Zapier.


Содержание
Глава 1: Введение
API (application programming interfaces, интерфейсы прикладного программирования) — большая часть интернета. В одном только 2013 году компаниями для открытого использования было опубликовано более 10 000 API. Это в четыре раза больше, чем в 2010 году.

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

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

Точно так же, как программа, подобная пасьянсу «Косынка» (Solitaire), ждет, пока вы щёлкнете по карте, чтобы что-то сделать, веб-сервер исполняет программу, которая ждёт, пока человек запросит веб-страницу.

В этом нет ничего волшебного или захватывающего. Разработчик программного обеспечения пишет программу, копирует её на сервер, и сервер выполняет её.
Что такое API и почему он ценен
Веб-сайты созданы с учетом сильных сторон людей. Люди обладают невероятной способностью воспринимать визуальную информацию, комбинировать ее с нашим опытом для извлечения смысла, а затем действовать в соответствии с этим значением. Вот почему вы можете взглянуть на форму веб-сайта и понять, что небольшое поле с надписью «Имя» над ним означает, что вы должны ввести слово, которое вы используете для идентификации себя.

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

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

Рисунок 1. Связь с сервером.

Упростить работу с данными — это хорошо, потому что это означает, что люди могут писать программное обеспечение для автоматизации утомительных и трудоемких задач. То, на что у человека может уйти несколько часов, может занять у компьютера секунды посредством использования API.
Как используется API
Когда две системы (веб-сайты, настольные компьютеры, смартфоны) соединяются через API, мы говорим, что они «интегрированы». В интеграции у вас есть две стороны, каждая из которых имеет особое имя. Одна сторона, о которой мы уже говорили: сервер. Это сторона, которая фактически предоставляет API. Помните, что API — это просто другая программа, работающая на сервере. API может быть частью той же программы, которая обрабатывает веб-трафик, или API может быть совершенно другой программой. В любом случае он просто ожидает, когда другая сторона запросит у нее данные.

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

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

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

Вперед ко 2-й главе!