Вы когда-нибудь слышали предложение и не понимали ни одной его части? Вы когда-нибудь хотели что-то узнать и ненавидели, когда люди использовали сложный жаргон, чтобы объяснить это вам? Добро пожаловать в мою серию «Для 5-летних», где я беру сложную тему и изо всех сил стараюсь объяснить ее, как если бы я разговаривал с 5-летним ребенком.

Сегодняшняя тема: API

Что такое API?

Хорошо… давайте сначала определимся, а потом разберем. API означает интерфейс прикладного программирования. Приложение означает любое программное обеспечение с определенной функцией. Интерфейс означает контракт на обслуживание, согласованный между двумя приложениями. API — это механизмы, которые позволяют двум различным программным компонентам взаимодействовать друг с другом, используя набор определений и протоколов. Например, национальная служба погоды содержит данные о погоде за день. Приложение погоды на вашем телефоне «общается» с этой системой через API и показывает вам ежедневную погоду на вашем телефоне.

Но Салли, ты сказал, что жаргона не будет!!!

Извините, извините, извините, попробуем еще раз…

Аналогия 1: Почтовая служба

Скажем, вы хотите заказать что-то по почте…

Вы заходите на свой любимый сайт. Давайте не будем играть в фаворитов и просто сделаем сайт. Назовем его Amazon.com.

Вы на Amazon.com и нашли то, что хотите купить. Вы заказываете товар и вуаля… он прибывает к вам домой в течение от нескольких дней до нескольких недель, в зависимости от того, есть ли у вас Prime или нет (я не уверен, что такое Prime, но мне это кажется хорошей маркетинговой идеей для более быстрой доставки ).

Когда посылка прибывает к вам домой, кто-то (или что-то… дроны, я смотрю на вас) приносит ее вам. Там вы можете делать с ним все, что захотите. Вы можете сохранить его и выставить на обозрение. Вы можете отправить его обратно. Или вы можете попросить что-то другое вместо этого.

Почтовая служба — это API в этом сценарии. Это система запросов и ответов. Вы получаете пакет, когда заказываете его через ЗАПРОС. Почтовая служба ОТВЕЧАЕТ на ваш запрос, предоставив вам посылку. В этом сценарии Почтовая служба является API, поскольку она ответила на ваш запрос, предоставив или забрав то, что вы хотели (т.е. вашу посылку).

Аналогия 2: портной

О, нет! Приближается свадьба, и вы понимаете, что ваша одежда должна быть подшита после потери всего этого веса. Что вы делаете?

«Вот вам блестящая идея», — говорит ваша вдохновляющая, но очень властная мама. — Почему бы тебе не отнести его портному? Как будто это уже не было исправлено, пока вы говорите…

Вы отнесли его портному, вы ПРОСИЛИ, чтобы одежда была исправлена ​​по вашему вкусу, и портной взял одежду, чтобы сделать соответствующие поправки, которые вы ПРОШИЛИ.

Приходите через неделю, вы возвращаетесь, и Портной ОТВЕТИЛ на вашу ПРОСЬБУ, ваша одежда была подшита и выглядела великолепно, как всегда. Теперь ты можешь делать с этой одеждой все, что захочешь, но самое главное, ты можешь щеголять своими вещами на этой свадьбе.

Tailor в данной ситуации — это API. Они приняли ваш ЗАПРОС (то есть вашу одежду) и изменили ее, чтобы она соответствовала вашим потребностям… буквально. Вы можете вернуться к портному и сказать им, что это не соответствует тому, что вам нужно, и они возьмут вашу одежду и снова перешьют ее, чтобы она соответствовала тому, что вы хотите.

Аналогия 3: сервер

После всего, что я написал, я точно проголодался. Что мне делать? Съесть мой ноутбук? Нееет, это не имеет смысла. Позвольте мне пойти в дорогой ресторан и смыть свои печали изысканной едой, которая поможет мне забыть, что я на самом деле не могу себе этого позволить, пока не станет слишком поздно.

По шагам… Сервер

Какими бы грубыми они ни были, The Server — отличный пример API.

Вы садитесь за свой роскошный столик на одного… да, именно на одного… и к вам подходит Сервер, чтобы принять вашу ЗАПРОС на ужин. Вы решаете, что куриные наггетсы выглядят великолепно и что вы должны их съесть. Сервер принимает этот ЗАПРОС, идет на кухню и просит лучшие куриные наггетсы. Кухня взбивает аппетитные на вид наггетсы, чуть-чуть плюет на них и отдает Серверу, чтобы тот вернул их вам. Сервер ОТВЕЧАЕТ на ваш первоначальный ЗАПРОС, предоставляя вам еду.

На этом этапе вы можете решить делать с указанной едой все, что захотите. Вы можете съесть наггетсы, просто посмотреть на наггетсы или отправить наггетсы обратно и ЗАПРОСИТЬ что-нибудь совсем другое. Сервер — это ваш API. Они ОТВЕЧАЮТ на вашу ЗАПРОС и вернут вам все, что вы хотели. Если то, что вы хотели, изменится, они могут пойти и вернуть вам это (в меру своих возможностей).

Если они не могут принести вам именно то, что вы хотите, вы просто идете в другой ресторан и получаете новый сервер (другой API), который может ОТВЕЧАТЬ на ваш ЗАПРОС, чего не мог сделать первый сервер.

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

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