[00:02] нужно обрабатывать платежи, отправлять уведомления и отображать карты, и это только начало. Создание всех этих функций с нуля заняло бы годы. Вот тут-то и приходят на помощь API и SDK. Это необходимые инструменты, которые позволяют [00:15] любимым приложениям бесперебойно взаимодействовать друг с другом. Давайте начнем с API, или интерфейсов прикладного программирования. Представьте их как универсальных переводчиков. Они позволяют различным программным приложениям общаться друг с другом. Вместо того чтобы создавать все с [00:30] нуля, разработчики могут использовать специализированные сервисы, которые уже проверены и надежны. Большинство современных API используют так называемую REST-архитектуру. Это способ связи посредством HTTP- запросов к определенным URL-адресам, называемым [00:46] конечными точками. Основные операции удивительно просты: получение данных из сервиса, отправка данных методом удивительно просты: получение данных из сервиса, отправка данных методом POST, создание новых ресурсов, обновление существующих и удаление, удаление. При отправке этих [01:00] запросов мы можем включать определенные параметры, чтобы получить именно то, что нам нужно для операций. При отправке данных методом POST мы упаковываем данные в тело запроса, обычно в формате JSON. Каждый ответ API сопровождается кодом состояния, который сообщает нам, что произошло. Код 200 [01:16] означает, что все прошло хорошо, как одобрение. Код 200 означает, что мы это сделали. Код 2011 означает, что все прошло хорошо. «Отлично, мы создали что-то новое», — говорят с нашей стороны, возможно, мы сделали некорректный запрос или попытались получить [01:33] доступ к чему-то без разрешения. А коды 500 означают, что сервер поднимает руку, говоря: «Эй, это наша вина, у нас проблема». Безопасность очень важна в мире API. Сервисы используют ключи API или токены O-O [01:48] для проверки того, кто делает запросы. Представьте это как цифровую идентификационную карту. Они также следят за количеством запросов. Превышение лимита может привести к отключению или дополнительным расходам на счете. Давайте посмотрим, как это [02:02] работает на примере приложения для доставки еды. Когда мы открываем его, несколько API работают вместе в фоновом режиме. Сначала подключается API карт, показывая нам все рестораны поблизости. Как только мы находим подходящее место, собственный API приложения получает [02:18] список ресторанов, готовых к заказу. Именно тогда вступает в действие API платежей для обработки транзакции. После подтверждения всего API обмена сообщениями гарантирует, что наш курьер знает, куда ехать. Теперь перейдем к SDK (комплектам для разработки программного обеспечения). [02:33] API — это точки прямого соединения между сервисами, SDK — это готовые наборы инструментов, которые упрощают использование этих соединений. Они обрабатывают сложные технические детали, позволяя нам сосредоточиться на разработке функций. SDK — это полный [02:48] пакет, включающий инструменты, библиотеки и документацию — всё необходимое для создания приложений для конкретных платформ, таких как Android или iOS. Хорошо разработанный SDK упрощает все эти сложности платформ, обеспечивая согласованное поведение наших приложений [03:02] на разных устройствах. Многие SDK поставляются с готовыми устройствах. Многие SDK поставляются с готовыми API-клиентами, которые упрощают интеграцию. Эти клиенты берут на себя всю сложную техническую работу: они управляют аутентификацией, [03:15] правильно форматируют запросы, преобразуют сложные ответы в данные, которые легко использовать в коде. Вот реальный пример: SDK Instagram позволяет пример: SDK Instagram позволяет [03:30] функцию «Поделиться в Instagram» с минимальными усилиями, не беспокоясь о технических деталях. Вот простой способ это сделать. Итак, когда следует выбирать между API и SDK? Давайте разберемся. Прямая [03:44] интеграция API имеет смысл, когда нам нужен полный контроль над проектом. Это хороший выбор, когда... Мы хотим свести к минимуму зависимости, и иногда нам приходится работать с платформой, у которой нет SDK. Именно тогда API [03:57] становятся лучшими друзьями. SDK используют другой подход, они великолепны, когда нам нужно быстро двигаться вперед и быстро вывести наш продукт на рынок. Они содержат лучшие практики, встроенные прямо в них, что избавляет нас от распространенных ошибок. А если нам [04:11] нужны специальные функции для конкретных платформ, SDK часто являются оптимальным решением. Помните, что это не всегда выбор «или-или». Многие успешные приложения используют как SDK для основных задач, так и прямой доступ к API для пользовательских функций. [04:27] блоки современной разработки программного обеспечения, позволяя нам создавать мощные приложения, не изобретая велосипед. Если вам нравятся наши видео, вам также может понравиться рассылка по системному проектированию. Она охватывает темы и тенденции в [04:42] scale system design trusted by 1 million readers subscribe that blog. bio.com