SDK (Software Development Kit) — это набор для разработки, который выпускает владелец платформы или сервиса: библиотеки, документация, примеры кода и утилиты. С ним программист подключает к своей программе карты, оплату, облако или функции операционной системы и не пишет всё это с нуля. Если API задаёт правила, по которым программы обмениваются данными, то SDK даёт готовые инструменты для работы по этим правилам.
Ниже разберём, из чего состоит SDK, чем он отличается от API, и на живом примере сравним запрос к сервису с SDK и без него.
Как расшифровывается SDK и что в него входит

Аббревиатура читается как «эс-ди-кей» и переводится как «комплект для разработки программного обеспечения». По-русски часто пишут просто «пакет SDK» или «набор средств разработки».
Состав зависит от того, кто выпускает набор. Но почти в любом SDK есть одни и те же части:
| Часть | Зачем нужна |
|---|---|
| Библиотеки | Готовый код, который вы вызываете из своей программы вместо того, чтобы писать его сами |
| Документация и справочник | Описание каждой функции, параметров и ошибок |
| Примеры кода | Рабочие заготовки, с которых удобно начинать |
| Утилиты | Сборка, отладка, подпись приложения, эмулятор устройства |
| Заголовочные файлы и метаданные | Описания интерфейсов, по которым компилятор понимает, что можно вызвать |
Как это выглядит у настоящих наборов. Microsoft пишет, что пакет SDK для Windows «содержит последние заголовки платформы, библиотеки, метаданные WinRT и средства сборки, необходимые для разработки приложений Windows».
Android SDK устроен как набор отдельных пакетов, и с ним работает каждый Android-разработчик. Пакеты ставят через SDK Manager в Android Studio или утилитой sdkmanager из командной строки:
- Command-Line Tools:
sdkmanager,avdmanagerдля виртуальных устройств,lintдля проверки кода; - Build Tools: без этого пакета Android-приложение не собрать, в нём
apksignerиzipalign; - Platform Tools:
adbдля работы с телефоном или эмулятором,fastboot,logcat; - Emulator: эмулятор устройства на базе QEMU.
Чем SDK отличается от API
Эти слова путают чаще всего, потому что одно живёт внутри другого. API описывает интерфейс: список адресов, команд и форматов, на которые сервис отвечает. SDK даёт набор инструментов вокруг API, и в нём обращения к интерфейсу уже завёрнуты в удобные функции.
| API | SDK | |
|---|---|---|
| Что это | Правила обмена данными | Библиотеки, документация, утилиты |
| Как пользоваться | Сами собираете запрос, заголовки, разбираете ответ | Вызываете готовую функцию |
| Язык | Любой, лишь бы умел отправлять HTTP-запросы | Конкретный: у каждого языка свой SDK |
| Ошибки | Код ответа и текст, разбирать вручную | Понятные исключения и классы |
Проще всего разницу видно на коде. Если хотите разобраться в запросах к сервисам глубже, посмотрите курсы по работе с API, а здесь хватит одного примера. Возьмём REST API GitHub и узнаем, на каком языке написан репозиторий CPython и какая у него основная ветка. Без регистрации и токена GitHub это разрешает.
Без SDK: запрос к API вручную
Здесь только стандартная библиотека Python: модуль urllib.request отправляет запрос, а json разбирает ответ.
import json
import urllib.request
url = "https://api.github.com/repos/python/cpython"
req = urllib.request.Request(url, headers={"Accept": "application/vnd.github+json"})
with urllib.request.urlopen(req, timeout=10) as resp:
data = json.load(resp)
print(data["full_name"])
print(data["language"])
print(data["default_branch"])
python/cpython
Python
main
Адрес, заголовок Accept и названия полей в ответе пришлось взять из документации и вписать руками. Ошибётесь в названии поля, и узнаете об этом только при запуске.
С SDK: та же задача через готовую библиотеку
PyGithub работает с API GitHub из Python. По устройству это типичный SDK. Ставится одной командой (лучше в виртуальное окружение):
pip install PyGithub
from github import Github
gh = Github()
repo = gh.get_repo("python/cpython")
print(repo.full_name)
print(repo.language)
print(repo.default_branch)
python/cpython
Python
main
Результат тот же, а кода меньше: адрес, заголовки и разбор JSON библиотека взяла на себя. Поля стали атрибутами объекта, и редактор кода подсказывает их при наборе.
Разница заметнее всего на ошибках. Запросим репозиторий, которого нет. Без SDK программа падает с сырой HTTP-ошибкой:
urllib.error.HTTPError: HTTP Error 404: Not Found
В библиотеке для такого случая есть отдельное исключение, и его удобно перехватить:
from github import Github, UnknownObjectException
gh = Github()
try:
gh.get_repo("python/net-takogo-repo")
except UnknownObjectException as e:
print("Нет такого репозитория:", e.status)
Нет такого репозитория: 404
Код проверяли на Python 3.14.7 и PyGithub 2.10.0 в ноябре 2026 года.
Канал основателя Checkroi Вани Буявца3 800 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединитьсяКакие бывают SDK

Наборы различаются по тому, к чему они дают доступ. Удобно делить их на четыре группы.
Платформенные
Нужны, чтобы писать программы под операционную систему: Windows SDK, Android SDK. Без такого набора приложение под платформу не собрать: в нём лежат средства сборки и описания системных функций.
Облачные
Дают управлять облачными ресурсами из кода. В документации Yandex Cloud их описывают так: «Yandex Cloud SDK — это комплект средств разработки для взаимодействия с облачной инфраструктурой». Наборы есть для Node.js, Go, Python, Java и .NET.
Сервисные
Встраивают в приложение чужую функцию: карты, оплату, вход через соцсеть, аналитику. Два российских примера:
- Yandex MapKit добавляет карты Яндекса в мобильные приложения на Android, iOS и Flutter;
- ЮKassa выпускает официальные серверные библиотеки для PHP и Python, а мобильные SDK встраивают платёжную форму в приложения для iOS (с версии 14) и Android (с версии 7).
Языковые
Набор для самого языка программирования: компилятор, стандартная библиотека, утилиты. Классический пример: Java Development Kit (JDK). У .NET это .NET SDK, о самой платформе читайте в статье про .NET Framework.
Когда SDK нужен, а когда без него проще
SDK экономит время, но тянет за собой чужой код, который тоже придётся обновлять. Поэтому брать его стоит не всегда.
SDK нужен, если:
- без него задачу не решить: приложение под Android или Windows собирается только средствами платформы;
- вы будете часто обращаться к сервису и использовать много его функций;
- сервис сложный: платежи с подписями запросов, облако с авторизацией, карты с отрисовкой на экране.
Можно обойтись без SDK, если:
- нужен один-два запроса, как в примере с GitHub: строк кода почти столько же, а лишней зависимости нет;
- SDK для вашего языка нет или его давно не обновляли;
- важен размер приложения: каждая библиотека добавляет веса мобильной сборке.
При выборе между несколькими наборами смотрите на три вещи: официальный ли он, когда выходило последнее обновление и есть ли в документации пример под вашу задачу.
Как пользоваться SDK: пошагово
Порядок почти одинаковый, какой бы набор вы ни подключали:
- Найдите официальную документацию. Ищите раздел для разработчиков на сайте сервиса, а не первую попавшуюся библиотеку на GitHub. У ЮKassa, например, на одной странице разделены официальные SDK и библиотеки сообщества.
- Проверьте, что набор есть для вашего языка или платформы. Yandex Cloud SDK нет для PHP, а официальные серверные библиотеки ЮKassa есть только для PHP и Python.
- Установите набор. Для Python это
pip install, как в примере выше и в инструкции по установке PyGame. Для Android нужен SDK Manager илиsdkmanager, для Windows подойдёт установщик или пакеты NuGet со страницы Microsoft. - Получите ключ доступа, если сервис его требует. Платёжные и облачные сервисы без ключа не ответят.
- Запустите пример из документации без изменений. Заработал, значит, установка и доступ в порядке, можно менять под свою задачу.
- Зафиксируйте версию SDK в проекте. Так обновление набора не сломает код без вашего ведома.
Писать код удобнее в среде разработки: она подсказывает функции SDK прямо при наборе. Какую выбрать, разбираем в обзоре IDE для Python.
Что значит SDK в списке программ на компьютере
Иногда слово попадается не в коде, а в списке установленных программ: Windows Software Development Kit, Microsoft SDKs, служба с SDK в названии. Название само по себе ничего плохого не значит: это компонент для разработки, а не обычная программа для работы.
Решение: прежде чем удалять, посмотрите, кто издатель и когда компонент установлен.
- Издатель Microsoft, а на компьютере кто-то пишет программы под Windows? Оставьте: без заголовков и средств сборки из набора такие проекты могут перестать собираться.
- Издатель незнакомый, и программ с ним рядом нет? Поищите название на сайте издателя, а не на форумах.
Частые ошибки при работе с SDK

Взять неофициальную библиотеку за официальную. Библиотеки сообщества бывают хорошими, но за ними никто не отвечает. ЮKassa прямо пишет, что не проверяет их код.
Забыть про лимиты. SDK удобен, но запросы считаются так же, как без него. У GitHub без авторизации лимит 60 запросов в час, с токеном 5000. Решение: для всего, кроме пробы, сразу работать с токеном.
Сидеть на старой версии. SDK перестают поддерживать. У Microsoft в таблице поддержки Windows SDK версия 22621 помечена как неподдерживаемая с 12 ноября 2025 года. Решение: раз в несколько месяцев открывать заметки о выпуске и обновлять набор осознанно, с проверкой.
Не проверить, что SDK делает с данными. Встроенная библиотека работает внутри вашего приложения, и отвечаете за неё вы. В форме «Безопасность данных» для Google Play нужно указать и данные, которые собирают сторонние библиотеки или SDK внутри приложения. Решение: до подключения прочитать в документации набора, какие данные он отправляет и куда.
Вписать ключ доступа прямо в код. Код уходит в репозиторий, а ключ вместе с ним. Ключи держат в переменных окружения или в отдельном файле, который не попадает в Git.
Путать SDK с фреймворком. Фреймворк задаёт каркас всей программы, а SDK подключается к вашей программе как набор инструментов для одной платформы или сервиса. Примеры фреймворков и библиотек собраны в подборке сервисов для программистов.
Где научиться работать с API и SDK
Подключить один SDK по документации можно за вечер. Чтобы делать это уверенно, нужно понимать, как устроены HTTP-запросы, авторизация, обработка ошибок и версии библиотек. Это разбирают на курсах по backend- и мобильной разработке. Если хотите делать свои приложения под телефон, начните с плана, как стать Android-разработчиком.
Курсы по работе с API в нашем каталоге:
| Курс | Школа | Стоимость со скидкой | В рассрочку | Длительность | Обзор курса от Checkroi |
|---|---|---|---|---|---|
| Node.js. Профессиональная разработка REST API Перейти на сайт курса | 29 900 ₽ | 9960 ₽/мес. | 2 месяца | Обзор курса | |
| Профессия «Python-разработчик» Перейти на сайт курса | 157 335 ₽ | 5987 ₽/мес. | 10 месяцев | Обзор курса | |
| Веб-вёрстка Перейти на сайт курса | 145 989 ₽ | 2818 ₽/мес. | 3 месяца | Обзор курса | |
| Профессия «Аналитик данных с нуля до middle» Перейти на сайт курса | 145 600 ₽ | 6066 ₽/мес. | 12 месяцев | Обзор курса | |
| Fullstack-разработчик на Python Перейти на сайт курса | 137 000 ₽ | 7125 ₽/мес. | 21 месяц | Обзор курса |
Больше программ — в полном каталоге курсов по API




