SDK - определение. Описание и особенности

Программисты любят, когда их работа нравится пользователю. Но больше они любят, когда их работу продолжают непрофессионалы, добавляя к на первый взгляд законченному продукту часть своих задумок. Тогда чудо творческой и инженерной мысли становится еще более прекрасным. Но чтоб простой пользователь смог приобщиться к великому, программисты снова уходят в работу и выпускают комплекты инструментов. И дают этим утилитам имя - SDK. Что это такое, будет описано в статье.

Коротко о главном

Короткая аббревиатура заключает в себе длинные слова - Software Development Kit (или набор программ разработчика). Многие думают, что можно любую программу для разработок софта назвать SDK, что это, например, компилятор Паскаля или Делфи. Однако, как и книгу нельзя судить по обложке, так и продукт - по его названию. SDK - это набор, расширяющий функционал программы, игры, комплекса продуктов, он дает возможность создать свою программу, уровень или дополнение, однако только с использованием наработок исходного.


Три кита SDK

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

Вторая часть - документация. Причем описано в ней все коротко, лаконично и просто. Она включает в себя Tutorial (пошаговое обучение в стиле "Сотворение мира за шесть простых шагов") и Reference - раздел, предоставляемый в виде справочника о том, что может быть сделано при помощи SDK.

Третий кусочек мозаики - самый любимый у тех, кто часто пользуется продуктом - готовые примеры. Причем почти всегда они охватывают все возможности комплекта разработчика. Благодаря их наличию часто можно пропустить любой Reference, не пытаясь вникнуть в программную среду. Образцы быстро познакомят пользователя с тем, что можно создать в предоставляемом пакете программ.


Есть такие люди, которые ленятся прочесть даже короткий Tutorial. А этого и не требуется! Возьмите пример, отредактируйте его, подгоните под свои критерии - и новый компонент программы уже готов.

sdk что это

От простого к сложному

После всего вышесказанного у читателя может возникнуть вопрос: "SDK - что это? Набор программ, которые не представляют интереса для настоящего разработчика и нужны только пользователям для мелкого баловства?" Отвечаем: все SDK могут быть условно разделены на две группы.

К первой нужно отнести комплекты для создания самостоятельных игр и программ. Самым хорошим примером будет DirectX, без которого сегодня не работает ни один компьютер с ОС Windows. Однако простым пользователям предоставляют только рабочие компоненты, необходимые для запуска приложений, созданных с использованием этого SDK. Для программистов же компания Microsoft предоставляет бесплатный комплекс DirectX SDK, который является компонентом более мощного продукта - Windows SDK. В нем содержатся все файлы, которые необходимы для написания нового приложения или компьютерной игры: библиотеки СИ++, компиляторы, многостраничная документация.sdk 7

К подобным решениям можно отнести и Android SDK - программный комплекс, созданный для разработки приложений для смартфонов. При этом не нужно вникать в тонкости работы акселерометра или сенсора, функции уже добавлены в комплект.


windows sdk

Вторая группа SDK интереснее. Это не компоненты ОС, а огромные самодостаточные инструменты. Например, к ним можно отнести Torque или Unity - полноценные игровые движки, в которые включена поддержка самых передовых технологий. Однако отличаются подобные решения тем, что при помощи инструментов, входящих в поставку, можно создать замечательную игру или программу, не изучая программирование слишком глубоко - будет достаточно освоить азы. Очень часто в подобных продуктах используются свои скриптовые языки с упрощенными функциями.

Последняя версия не всегда лучшая

Обычно SDK, который только-только сходит с конвейера, заключает в себе не только новые наборы инструментов, но и большое количество ошибок и багов. Так, например, последний выпуск Java SDK имеет в названии цифру восемь. Однако многие не спешат обновлять свое программное обеспечение. Они остаются верны SDK 7-й версии.

android sdk

Чтобы отлов багов и исправление ошибок было наиболее простым, разработчики создают сайт, на котором уютно располагается community - ассоциация разработчиков и пользователей SDK. Разные компании организуют общение разными способами, но зачастую на сайте располагается форум. Пользователи и программисты делятся на нем информацией о найденных недоработках, обсуждают тонкости работы в SDK, советуются и задают вопросы сотрудникам техподдержки.

Бесплатный сыр только в мышеловке?

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

WinAPI C для начинающих
C WinAPI — это интерфейс прикладного программирования, который используется для создания приложений Windows. Для начала работы начинающий пользователь должен загрузить SDK Windows, ранее известный как Platform SDK.
далее
Узнаем чем открыть APK и есть ли варианты?
Нередко, скачивая программное обеспечение, пользователи сталкиваются с файлами, расширение которых - APK. Об этом типе файлов лучше всего знают пользователи смартфонов и планшетных компьютеров. Но не всем известно, чем открыть APK на ПК.
далее
Software - что это? Отвечаем на вопрос. Что за программа Software?
Любой пользователь компьютера каждый день сталкивается с таким понятием, как Software. Это и неудивительно, ведь современное понимание этого термина трактуется как «программное обеспечение», или, сокращенно, «ПО» («софт»). Рассмотрим некоторые ...
далее
Программирование под Android: с чего начать создавать свои приложения ...
Что для этого необходимо знать? Какой средой разработки следует воспользоватся? С чего можно начать?
далее
MSDN — что это? Описание ресурса
MSDN — что это? Microsoft Developer Network — подразделение ИТ-компании Microsoft, ответственное за управление взаимоотношениями фирмы с программистами и тестировщиками (разработчиками программного и аппаратного обеспечения, которое подходит к ...
далее
Что это - дополненная реальность? Технология дополненной реальности
Рассмотрим значение выражения "дополненная реальность", как не перепутать его с виртуальной реальностью.
далее
Что это - дополненная реальность? Технология дополненной реальности
Игровой движок Unity. Unity 3D по-русски
Написать компьютерную игру самостоятельно - это большой труд. И сделать это с нуля практически невозможно, в этом деле понадобится движок.
далее
Игровой движок Unity. Unity 3D по-русски
Реверс-инжиниринг для начинающих. Защита Android-приложений от реверс-инжиниринга
Порой кто-то хочет посмотреть, а какая же начинка в определённой программе? Тогда ему приходится использовать реверс-инжиниринг. Что это такое? Как действует? Каким образом происходит этот процесс? Обо всём этом вы сможете узнать из данной статьи.
далее
Реверс-инжиниринг для начинающих. Защита Android-приложений от реверс-инжиниринга
KNOX - определение. Как удалить или отключить KNOX на Samsung?
Владельцы смартфонов и планшетов сталкиваются с таким приложением, как KNOX. Однако только единицы знают, для чего оно предназначено и как работает. Наиболее часто о нем говорят на форумах, посвященных прошивкам на аппараты Samsung. KNOX устанавливается поверх платформы Android, выполняя защитные функции. Давайте более детально ознакомимся с этой программой.
далее
KNOX - определение. Как удалить или отключить KNOX на Samsung?
Android: программирование для начинающих
XXI век. Эпоха цифровых технологий и интернета. Реальность все увереннее становится виртуальной. Сегодня чуть ли не каждый первый житель любой развитой страны не расстается со смартфоном. И если часть отдает предпочтение модным Iphone и операционной системе IOS, то большинство пользуется устройствами на Android.
далее
Android: программирование для начинающих