Відмінність фреймворку від Бібліотеки проти IDE проти API від SDK проти наборів інструментів? [зачинено]


144

Я хочу приклади. Я завжди плутаюсь, тому на деяких прикладах я можу це зрозуміти краще.

Також: Eclipse - це API чи IDE?


1
затемнення - це IDE
Thielicious

Відповіді:


294

IDE це інтегроване середовище розробки - це suped вгору текстовий редактор з додатковою підтримкою для розробки (наприклад, форм дизайнерів, редакторів ресурсів і т.д.), компіляції та відлагодження програм. наприклад Eclipse, Visual Studio.

Бібліотека являє собою шматок коду , який ви можете зателефонувати зі свого власного коду, щоб допомогти вам зробити речі більш швидко / легко. Наприклад, бібліотека Bitmap Processing надасть засоби для завантаження та маніпулювання растровими зображеннями, економлячи, що вам доведеться написати весь цей код для себе. Зазвичай бібліотека пропонує лише одну область функціональності (обробка зображень або робота з поштовими файлами)

API (інтерфейс прикладного програмування) є термін , що означає функції / методи в бібліотеці, ви можете зателефонувати , щоб попросити його зробити що - то для вас - інтерфейс до бібліотеки.

SDK (комплект розробки програмного забезпечення) являє собою бібліотеку або групу бібліотек (часто з додатками додатковий інструмент, файли даних і приклади коду) , які допомагають вам у розробці коду , який використовує конкретної системи (наприклад , код розширення для використання функції операційної системи ( Windows SDK), малювання 3D-графіки через певну систему (DirectX SDK), написання надбудов для розширення інших програм (Office SDK) або написання коду, щоб зробити пристрій на зразок Arduino або мобільного телефону робити все, що вам потрібно). SDK як і раніше матиме єдиний фокус.

Інструментарій подібний SDK - це група інструментів (і часто бібліотек коди) , які ви можете використовувати , щоб полегшити доступ до пристрою або системи ... Хоча , можливо , з великим упором на надання інструментів і додатків , ніж на просто бібліотеках коди .

Рамки велика бібліотека або група бібліотек , яка надає безліч послуг (а не може бути , тільки один сфокусована здатність , як це робить більшість бібліотек / SDKs). Наприклад, .NET надає прикладну основу - це спрощує використання більшості (якщо не всіх) різноманітних служб, які вам потрібні (наприклад, Windows, графіка, друк, комунікації тощо) для написання широкого кола програм - так "бібліотека" забезпечує підтримку майже всього, що вам потрібно зробити. Часто рамка постачає повну базу, на якій ви будуєте свій власний код, а не будуєте додаток, який використовує код бібліотеки для виконання частин своєї роботи.

Звичайно, є багато прикладів у дикій природі, які не точно відповідають цим описам.


3
Можна сказати, що SDK, бібліотека або фреймворк містить API.
Бастієн Вандамме

6
SDK - це специфічна для клієнта реалізація для полегшення споживання API, наприклад, SDK javascript для API Facebook. Часто ви бачите кілька мов, представлених у розділі SDK документації API, наприклад, API twilio для свого API має пітон, рубін, C # та Java sdk. Просто для того, щоб трохи плутати речі, вони називають це API Бібліотеки та SDK, і я чув, що обидва ці терміни використовуються взаємозамінно.
Роб

97

Аналогія автомобіля

введіть тут опис зображення

IDE: MS Office з програмування. Тут ви вводите свій код, а також деякі додаткові функції, щоб зробити вас щасливішим програмістом. (наприклад, Eclipse, Netbeans ). Кузов автомобіля: це те, що ви дійсно чіпаєте, бачите та працюєте.

Бібліотека: Бібліотека - це сукупність функцій, часто згрупованих у декілька програмних файлів, але упакованих в один архівний файл. Тут містяться програми, створені іншими людьми, так що вам не доведеться винаходити колесо. (наприклад, junit.jar, log4j.jar ). Бібліотека, як правило, відіграє ключову роль, але вся її робота відбувається за лаштунками, у неї немає графічного інтерфейсу. Двигун автомобіля.

API: Документація видавця бібліотеки. Ось як слід використовувати мою бібліотеку. (Наприклад , log4j API , JUnit API ). Посібник користувача автомобіля - так, автомобілі теж поставляються з одним!


Набори

Що таке комплект? Це сукупність багатьох пов’язаних предметів, які працюють разом, щоб надати певну послугу. Коли хтось каже аптечку, ви отримуєте все необхідне для надзвичайних ситуацій: пластири, аспірин, марлю та антисептик тощо.

введіть тут опис зображення

SDK : Щасливе харчування Макдональдса . У вас є все, що вам потрібно (і не потрібно), упаковано в коробку: основне блюдо, напій, десерт і бонусна іграшка. SDK - це купа різних програмних компонентів, зібраних у пакет, таким чином, що вони "готові до дії" прямо з коробки. Він часто включає в себе кілька бібліотек і може , але не обов'язково включати плагіни, документацію API, навіть сам IDE. (наприклад, iOS Development Kit ).

Інструментарій : графічний інтерфейс. GUI. GUI. Коли ви чуєте "інструментарій" в контексті програмування, він часто посилається на набір бібліотек, призначених для розробки графічного інтерфейсу. Оскільки набори інструментів орієнтовані на інтерфейс користувача, вони часто постачаються із плагінами (або окремими IDE), які надають утиліти для малювання екрана. (наприклад, GWT )

Рамка : Хоча це і не є поширеним поняттям, рамки можна розглядати як комплект. Він також має бібліотеку (або колекцію бібліотек, які працюють разом), яка забезпечує конкретну структуру та шаблон кодування (таким чином, слово, рамки ). (наприклад, Spring Framework)


41
API - це не лише документація. Насправді це зовсім не документація. Я розумію вашу аналогію, але документація або документація API - це керівництво вашого автомобіля, а API - це більше табло та кнопки вашого автомобіля.
Бастієн Вандамме

1
Ви можете зробити різницю між графічним інтерфейсом та API. GUI (графічний інтерфейс користувача) - це інтерфейс для кінцевого непрофесійного користувача. API (Application Programming Interface) - це інтерфейс для інших програм. При розробці та застосуванні ви можете створити графічний інтерфейс або API або те і інше. Ви також можете створити інтерфейси іншого типу.
Бастієн Вандамме

За графічним інтерфейсом завжди є API. Графічні інтерфейси лише спрощують випадок використання. У ІТ це більше з непрофесійних причин, як графічні інтерфейси замість коду. Все ж щодо логіки вашого автомобіля: ви, можливо, не зможете керувати автомобілем самостійно, ви повинні навчитися та вміти керувати автомобілем (розглядайте уроки водіння як навчальний посібник чи документацію). Якщо ви не хочете цього домогтися, ви, можливо, захочете наїхати на автобус або на таксі, оскільки тут не потрібні навички водіння (у цьому випадку тут немає навичок програмування) - отже, я вважав би громадські засоби транспорту як графічні інтерфейси. Звучить смішно, але чорт правда.
Thielicious

Я не згоден з тим, що "[бібліотека] не має графічного інтерфейсу". У світі JavaScript в бібліотеках дуже часто містити графічний інтерфейс.
user1505520

5

Розгляньте розробку Android:

IDE: затемнення тощо.

Бібліотека: android.app.Activity library (Клас із усім кодом)

API: Інтерфейс - це в основному всі функції, з якими ми дзвонимо

SDK: Android SDK надає бібліотеки API та інструменти для розробників, необхідні для створення, тестування та налагодження програм для Android (---- інструменти - платформи DDMS, емулятор ---- - версії ОС Android, ---- платформа- інструменти - ADB, ---- Документи API)

ToolKit: може бути пакет ADT

Рамка: Велика бібліотека, але більше орієнтована на архітектуру


3

Іншими словами...

IDE Навіть ваш блокнот - це IDE. Кожне програмне забезпечення, з яким ви пишете / компілюєте код, - це IDE.

Бібліотека Купа коду, яка спрощує функції / методи для швидкого використання.

API Інтерфейс програмування функцій / конфігурацій, з якими ви працюєте, його використання часто документується.

SDK Extras та / або для розробки / тестування.

Невеликі програми ToolKit для швидкого використання, часто графічні інтерфейси.

Програми GUI з графічним інтерфейсом не вимагають знань про програмування на відміну від API.

Рамковий набір API / величезна бібліотека / фрагменти, загорнуті в простір імен / або капсульовані із зовнішньої області для компактної обробки без конфліктів з іншим кодом.

MVC Шаблон дизайну, розділений на Моделі, Перегляди та Контролери для величезних застосувань. Вони не залежать один від одного і можуть бути змінені / покращені / замінені, не піклуючись про інший код.

Приклад:

Автомобіль (модель)
Об'єкт, який представлений.
Приклад в ІТ: форма HTML.


Камера (Перегляд)
Щось, що здатне бачити об’єкт (автомобіль).
Приклад в ІТ: браузер, який надає веб-сайт із формою.


Водій (контролер)
Хтось, хто керує цією машиною.
Приклад в ІТ: Функції, які обробляють дані форми, що надсилаються.

Фрагменти Невеликі коди, що містять лише кілька рядків, можуть бути навіть не повними, але варті для швидкого обміну.

Ексклюзивні функції плагінів лише для заданих фреймів / API / бібліотек.

Додатки Додаткові модулі або послуги для конкретних графічних інтерфейсів.


2

SDK представляє комплект для розробки програмного забезпечення, а IDE - інтегроване середовище розробки. IDE - це програмне забезпечення або програма використовується для запису, компіляції, запуску та налагодження, наприклад Xcode. SDK є основним двигуном IDE, включає всі бібліотеки платформи, до яких потрібно отримати доступ. Це більш просто, ніж IDE, оскільки зазвичай не має графічних інструментів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.