stringtranslate.com

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

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

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

Подробности

SDK может принимать форму интерфейсов прикладного программирования [1] в виде библиотек многократно используемых функций на устройстве, используемых для взаимодействия с определенным языком программирования , или может быть таким же сложным, как аппаратно-зависимые инструменты, которые могут взаимодействовать с определенной встроенной системой . [2] Общие инструменты включают средства отладки и другие утилиты , часто представленные в интегрированной среде разработки . [3] SDK могут включать образцы программного обеспечения и/или технические заметки вместе с документацией и учебными пособиями, помогающими прояснить моменты, изложенные в первичном справочном материале. [4] [5]

SDK часто включают лицензии , которые делают их непригодными для создания программного обеспечения, предназначенного для разработки по несовместимой лицензии. Например, проприетарный SDK, как правило, несовместим с разработкой свободного программного обеспечения , в то время как GNU General Public License 'd SDK может быть несовместим с разработкой проприетарного программного обеспечения по юридическим причинам. [6] [7] Однако SDK, созданные по GNU Lesser General Public License , обычно можно использовать для проприетарной разработки. [8] В случаях, когда базовая технология является новой, SDK могут включать аппаратное обеспечение. Например, AirTag 's 2021 Near-field communication SDK включал как платную, так и считывающую половины необходимого аппаратного стека. [9]

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

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

Поставщики SDK для конкретных систем или подсистем иногда заменяют термин software более конкретным термином . Например, и Microsoft [13] , и Citrix [14] предоставляют комплект для разработки драйверов для разработки драйверов устройств .

Примеры

Примеры комплектов средств разработки программного обеспечения для различных платформ включают в себя:

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

Ссылки

  1. ^ Сандовал, К. (2 июня 2016 г.). «В чем разница между API и SDK?». Блог Nordic APIs . Nordic APIs AB . Получено 5 июля 2018 г.
  2. ^ Benso, A.; Chiusano, S.; Prinetto, P. (2000). "Комплект для разработки программного обеспечения для надежных приложений во встроенных системах". Труды Международной конференции по тестированию 2000 г. (IEEE Cat. No.00CH37159) . стр. 170–8. doi :10.1109/TEST.2000.894204. ISBN 0-7803-6546-1. S2CID  206679243.
  3. ^ Берд, Б. (2015). Разработка приложений Android All-in-One для чайников. John Wiley & Sons. стр. 31. ISBN 9781118973806.
  4. ^ Асиф, СЗ (2011). Экосистема мобильной связи следующего поколения: управление технологиями для мобильной связи. John Wiley & Sons. стр. PT384. ISBN 9781119995814.
  5. ^ Withee, K. (2011). Разработка SharePoint 2010 для чайников. John Wiley & Sons. стр. PT346. ISBN 9781118038628.
  6. ^ Vaughan-Nichols, SJ (4 января 2013 г.). «Нет, Google не делает Android SDK проприетарным. Из-за чего весь этот шум?». ZDNet . CBS Interactive . Получено 5 июля 2018 г. .
  7. ^ Орланд, К. (20 июля 2017 г.). «Юридические усилия Sony по удалению из Интернета своего утекшего комплекта разработчика». ArsTechnica . Condé Nast . Получено 5 июля 2018 г. .
  8. ^ Дэвидсон, С. Дж. (2004). «Учебник по программному обеспечению с открытым исходным кодом для деловых людей и юристов». Леонард, Стрит и Дейнард . Получено 5 июля 2018 г.
  9. ^ «Airtag выпускает комплект разработчика мобильных платежей NFC и надеется, что Apple поможет упростить экосистему». 16 октября 2012 г.
  10. ^ Шоави, Орли. «Звездные победители в категории «Инструменты для мобильных приложений (SDK)». SafeDK .
  11. ^ ab Lishi, He. "Все SDK для iOS и Android 3rd Platform" . Fork.ai.
  12. ^ Перес, Сара (19 октября 2015 г.). «Сотни приложений заблокированы в App Store за доступ к личной информации пользователей». TechCrunch .
  13. ^ "Документация по комплекту драйверов Windows". Hardware Dev Center . Microsoft . Получено 5 июля 2018 г. .
  14. ^ "Driver Development Kit - For XenServer 6.2.0 Service Pack 1 with Hotfix XS62ESP1062". Citrix Systems, Inc. 27 июня 2017 г. Получено 5 июля 2018 г.