API срещу SDK
Както интерфейсът за програмиране на приложения (API), така и комплектът за разработка на софтуер (SDK) играят важна роля в процеса на разработка на софтуер. Както подсказва името, API действа като интерфейс между различни приложения или платформи и помага на различни софтуерни програми да взаимодействат помежду си. API обикновено се състои от спецификации, които могат да се използват за интерфейс между различни софтуерни програми. От друга страна, SDK, известен също като devkit, се състои от набор от инструменти за разработка и предварително написани кодове, които могат да бъдат използвани от разработчиците за разработване на приложения. SDK обикновено помагат да се намали усилието и времето, необходимо на разработчиците да напишат свой собствен уникален код за разработване на софтуерни приложения.
API може да съдържа спецификации за подпрограми, структури от данни, протоколи и класове на обекти, за да се улесни взаимодействието между различни програми. SDK обикновено се състои от API под формата на файлове или сложен хардуер, за да се улесни взаимодействието с вградена система ... SDK често помага да се елиминира дублирането на работа и спестява време на разработчика при създаването на нови софтуерни приложения. API често включва набор от правила и спецификации, които следва да бъдат следвани от софтуерните програми за улесняване на лесното взаимодействие. API не включва никакви писмени примерни кодове, вместо това включва подробно описание на поведението на функционални обаждания и функционални прототипи. SDK включва примерни програми, технически бележки, помощни програми и инструменти за отстраняване на грешки, които програмистът да включи в разработването на приложения, като по този начин спестява много време и усилия.
API може да съдържа описание как точно може да се изпълни определена задача. Може да съдържа описание на функционални обаждания или функционални прототипи, предоставящи подробности за броя и типа на параметрите, които трябва да бъдат предадени на функциите, и вида на стойността, която се връща. В зависимост от областта, в която се използва API, той може да бъде разработен като общ API, съдържащ пълен набор, пакетиран в библиотеката на език за програмиране, като стандартна библиотека на шаблони в C или C ++, или може да бъде изграден като специфичен API за конкретен тип проблем като Java API за XML уеб услуги. Понякога SDK се създават с приложени лицензи с намерение да ги направят несъвместими с друг софтуер. Повечето от SDK са достъпни за изтегляне през интернет безплатно. Някои от доставчиците на SDK просто заменят термина „софтуер“ с конкретен термин. Например Microsoft Corporation и Apple, Inc. предлагат комплект за разработка на драйвери за разработване на драйвери на устройства, вместо комплект за разработка на софтуер.
Резюме:
1. API включва само спецификации и описания за функциите, докато SDK
включва API, примерен код, техническа документация, инструменти и помощни програми.
2. API служи като интерфейс за различни приложения за комуникация помежду си
като има предвид, че SDK предоставя набор от инструменти и помощни програми, необходими за разработването на софтуер
програма.
3. API предоставя описания на типовете параметри, които ще бъдат предоставени на функциите и техните
видове връщащи стойности, докато SDK включва библиотеки, които могат да бъдат използвани за разработване
софтуерни приложения.
4. API често включва описания на дефиниции на класове и поведение на тези класове. SDK включва документация на API, както и примерни програми и инструменти.