Как можете да обясните разликата между SDK, библиотека, пакет и модул?


Отговор 1:

SDK: Комплект за разработка на софтуер

Според Wikipedia,

Комплект за разработка на софтуер (SDK или devkit) обикновено е набор от инструменти за разработка на софтуер, който позволява създаването на приложения за определен софтуерен пакет, софтуерна рамка, хардуерна платформа, компютърна система, конзола за видеоигри, операционна система или подобна платформа за разработка.

С прости нетехнически условия, SDK съдържа почти всичко, от което се нуждаете по време на разработката. Огромен сноп, накратко.

Ако искате нещо по-технично, по-специално относно SDK, SDK включва:

  • API и / или документация за архитектура: Това обикновено включва информация като например документация за клас и метод и проби от кодове, за да демонстрира използването на всеки метод или клас. Библиотечни файлове Всеки двоичен или изходен файл, който е необходим или полезен за разработчиците, използващи платформата. Например, SDK за Windows включва windows.h, който е основният заглавен файл за развитието на Win32. Инструменти за разработка и UtilitiesApplications, създадени от доставчика на платформата, за да се помогне на разработчиците при създаването на приложения. Те могат да включват компилатори или други инструменти като емулатори и отстраняване на грешки, за да се даде възможност за писане и тестване на код, както и други приложения, които са несъществени, но полезни при разработването на софтуер. Примерни приложения Това са пълни, обикновено малки приложения, написани от доставчик на платформа, за да демонстрира някакъв специфичен аспект на платформата. Тези приложения често идват с изходен код, за да помогнат на програмиста да разбере по-добре как приложението използва платформата.

Библиотека

Определение на Wikipedia:

Библиотеката е съвкупност от енергонезависими ресурси, използвани от компютърни програми, често за разработване на софтуер. Те могат да включват конфигурационни данни, документация, помощни данни, шаблони за съобщения, предварително написан код и подпрограми, класове, стойности или спецификации на типа.

В нетехнически план си представете обикновена публична библиотека. Какво съдържа? Книги и някои други ресурси за знанието, нали? Книга с различни езици и жанрове. Софтуерната библиотека е нещо подобно на това. Той съдържа ресурси за развитие. Често библиотеките са включени в SDK, но могат да бъдат добавени и нови библиотеки.

В техническо отношение библиотеката съдържа колекцията от точен синтаксис, токен и семантика на програмния език.

Пакет

Оракул дефиниция:

Пакетът е пространство от имена, което организира набор от свързани класове и интерфейси.

В нетехнически план пакетът е малък пакет, който осигурява една конкретна функционалност. Концептуално можете да мислите, че пакетите са подобни на различни папки на вашия компютър. Можете да запазите HTML страници в една папка, изображения в друга и скриптове или приложения в друга.

В техническо отношение, според дефиницията, тя съдържа набор от класове и интерфейси.

модул

Определение на Техопедия:

Модулът е софтуерен компонент или част от програма, която съдържа една или повече подпрограми. Един или повече независимо разработени модули съставят програма. Софтуерното приложение на ниво предприятие може да съдържа няколко различни модула и всеки модул обслужва уникални и отделни бизнес операции.

В нетехническо отношение приемете фабрика, която произвежда хранителни продукти. Сега фабриката е разделена, за да има разделение на работата и правилно използване. Фабриката е разделена на малки отдели, наречени производство, опаковане, осигуряване на качеството, финанси, маркетинг, доставка и др. Можете да вземете всеки модул като модул.

В техническо отношение модулът е част от цялото приложение, за да се улесни разработването на цялата програма. Обединяването на определени модули ще създаде напълно функционираща програма.


Отговор 2:

Бих предложил да прочетете отговорите на подобни въпроси. Каква е разликата между модули, библиотеки, пакети, зависимости и API? и каква е разликата между Framework, SDK, NDK, API и Library.

Или ако това не работи за вас. Префразирайте въпроса си така, че да съдържа някакъв контекст. На кой език и на коя SDK говорите, за да се измъкнете от родовите дефиниции.

В момента не е възможно да увеличите отговора на Ишит - което е добре.