Комплект для разработки программного обеспечения - Software development kit

Комплект разработки программного обеспечения ( SDK ) представляет собой набор разработки программного обеспечения инструментов в одном пакете устанавливаемого. Они облегчают создание приложений за счет наличия компилятора, отладчика и, возможно, программной среды . Обычно они специфичны для комбинации аппаратной платформы и операционной системы . Для создания приложений с расширенными функциями, такими как реклама, push-уведомления и т. Д .; большинство разработчиков прикладного программного обеспечения используют специальные комплекты для разработки программного обеспечения.

Некоторые SDK требуются для разработки приложения для конкретной платформы. Например, для разработки приложения Android на платформе Java требуется Java Development Kit . Для IOS - приложений (приложений) IOS - SDK требуется. Для универсальной платформы Windows .NET Framework SDK может быть использован. Существуют также SDK, которые добавляют дополнительные функции и могут быть установлены в приложениях для предоставления аналитики, данных об активности приложений и вариантов монетизации. Некоторые известные создатели этих типов SDK включают Google , Smaato , InMobi и Facebook .

Подробности

SDK может принимать форму интерфейсов прикладного программирования (API) в форме встроенных в устройство библиотек многоразовых функций, используемых для взаимодействия с определенным языком программирования , или он может быть столь же сложным, как аппаратно-зависимые инструменты, которые могут взаимодействовать с конкретным языком программирования. встроенная система . Общие инструменты включают средства отладки и другие утилиты , часто представленные в интегрированной среде разработки (IDE). Пакеты SDK могут включать образцы программного обеспечения и / или технические примечания, а также документацию и учебные пособия, помогающие прояснить моменты, сделанные с помощью основных справочных материалов.

SDK часто включают лицензии, что делает их непригодными для создания программного обеспечения, предназначенного для разработки по несовместимой лицензии. Например, проприетарный SDK обычно несовместим с разработкой свободного программного обеспечения, в то время как SDK под лицензией GPL может быть несовместим с разработкой проприетарного программного обеспечения по юридическим причинам. Тем не менее, SDK, созданные под GNU Lesser General Public License (LGPL), обычно можно использовать для проприетарной разработки. В случаях, когда базовая технология является новой, SDK может включать оборудование. Например, NFC SDK от AirTag 2021 включал в себя как оплачивающую, так и считывающую половину необходимого аппаратного стека.

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

SDK могут быть небезопасными (потому что они реализованы в приложениях, но запускают отдельный код). Вредоносные SDK (с честными намерениями или нет) могут нарушать конфиденциальность данных пользователей , снижать производительность приложений или даже приводить к блокировке приложений в Google Play или App Store . Новые технологии позволяют разработчикам приложений контролировать и отслеживать клиентские SDK в режиме реального времени.

Провайдеры SDKs для конкретных систем или подсистем иногда заменить более конкретный термин вместо программного обеспечения . Например, Microsoft и Citrix предоставляют комплект для разработки драйверов (DDK) для разработки драйверов устройств .

Смотрите также

Рекомендации