Разница между фреймворком и библиотекой, IDE, API, SDK и инструментарием?

109

Я хочу несколько примеров. Я всегда путаюсь, поэтому с некоторыми примерами я мог бы лучше понять это.

Также: Является ли Eclipse API или IDE?

  • 0
    затмение является IDE
Теги:
frameworks
sdk
ide
terminology

5 ответов

205
Лучший ответ

IDE - это интегрированная среда разработки - расширенный текстовый редактор с дополнительной поддержкой для разработки (например, разработчики форм, редакторы ресурсов и т.д.), компиляция и отладка приложений. например, Eclipse, Visual Studio.

A Библиотека - это фрагмент кода, который вы можете вызывать из своего собственного кода, чтобы помочь вам сделать что-то более быстро/легко. Например, библиотека Bitmap Processing предоставит средства для загрузки и обработки растровых изображений, что позволит вам записать весь этот код для себя. Обычно библиотека предоставляет только одну область функциональности (обработка изображений или работа с zip файлами)

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

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

A toolkit похож на SDK - это группа инструментов (и часто кодовых библиотек), которые вы можете использовать, чтобы упростить доступ к устройству или системе... Хотя, возможно, с большим фокусом на предоставление инструментов и приложений, а не только на библиотеки кода.

A framework - это большая библиотека или группа библиотек, которая предоставляет множество сервисов (а не только одну сосредоточенную способность, как это делают большинство библиотек /SDK ). Например,.NET предоставляет инфраструктуру приложения - это упрощает использование большинства (если не всех) разрозненных служб (например, Windows, графика, печать, связь и т.д.) Для написания широкого спектра приложений - так что один "library" обеспечивает поддержку почти всего, что вам нужно. Часто структура предоставляет полную базу, на которой вы создаете свой собственный код, вместо того, чтобы создавать приложение, которое потребляет библиотечный код для части его работы.

В дикой природе, конечно, много примеров, которые не будут точно соответствовать этим описаниям.

  • 2
    Вы можете сказать, что SDK, библиотека или инфраструктура содержат API.
  • 4
    SDK - это специфическая для клиента реализация для упрощения использования API, например, javascript SDK для API Facebook. Часто вы видите несколько языков, представленных в разделе SDK документации API, например, API Twilio имеет Python, Ruby, C # и Java SDK для своего API. Просто чтобы немного запутать, они называют это API-библиотеками и SDK, и я слышал, что оба эти термина взаимозаменяемы.
74

Автомобильная аналогия

Изображение 7880

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

Библиотека: Библиотека представляет собой набор функций, часто сгруппированных в несколько программных файлов, но упакованных в один файл архива. Это содержит программы, созданные другими людьми, так что вам не нужно изобретать велосипед. (например, junit.jar, log4j.jar). Библиотека, как правило, играет ключевую роль, но выполняет всю свою работу за кулисами, у нее нет графического интерфейса. Двигатель автомобиля.

API: Документация издателя библиотеки. Вот как вы должны использовать мою библиотеку. (например, log4j API, junit API). Руководство пользователя автомобиля - да, автомобили тоже поставляются с одним!


Наборы

Что такое комплект? Это сборник многих связанных элементов, которые работают вместе, чтобы обеспечить конкретную услугу. Когда кто-то говорит набор для медицины, вы получаете все необходимое для экстренной помощи: штукатурки, аспирин, марлю и антисептик и т.д.

Изображение 7881

SDK: McDonald Happy Meal. У вас есть все, что вам нужно (и не нужно) в коробке аккуратно: основное блюдо, напиток, десерт и бонусная игрушка. SDK - это набор различных программных компонентов, собранных в пакет, так что они "готовы к действию" прямо из коробки. Он часто включает несколько библиотек и может, но может и не включать плагины, документацию API, даже сама IDE. (например, iOS Development Kit).

Инструментарий: графический интерфейс. GUI. GUI. Когда вы слышите "инструментарий" в контексте программирования, он часто ссылается на набор библиотек, предназначенных для разработки графического интерфейса. Поскольку инструментарий ориентирован на пользовательский интерфейс, они часто поставляются с плагинами (или автономными IDE), которые предоставляют утилиты для рисования экрана. (например, GWT)

Рамка. Хотя это не распространенное понятие, структуру можно рассматривать как набор. Это также библиотека (или коллекция библиотек, которые работают вместе), которая обеспечивает определенную структуру и структуру кодирования (таким образом, слово, фреймворк). (например, Spring Framework)

  • 35
    API - это не просто документация. На самом деле это не документация вообще. Я понимаю вашу аналогию, но документация или документация по API - это руководство по вашему автомобилю, а API - это больше доска и кнопки вашего автомобиля.
  • 1
    Вы можете сделать разницу между GUI и API. GUI (графический интерфейс пользователя) - это интерфейс для конечного непрофессионального пользователя. API (Application Programming Interface) - это интерфейс для других программ. Когда вы разрабатываете и приложение, вы можете создать графический интерфейс или API или оба. Вы также можете создавать другие типы интерфейсов.
Показать ещё 1 комментарий
3

Рассмотрите развитие Android:

IDE: Eclipse и т.д.

Библиотека: android.appActivity library (класс со всем кодом)

API: интерфейс в основном всех функций с ведьмой, которую мы называем

SDK: Android SDK предоставляет вам библиотеки API и инструменты разработчика, необходимые для создания, тестирования и отладки приложений для Android (---- tools - DDMS, эмулятор ---- платформы - версии ОС Android, ---- инструменты платформы - ADB, ---- API docs)

ToolKit: может быть ADT Bundle

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

2

Другими словами...

IDE Даже ваш блокнот - это IDE. Каждое программное обеспечение, с которым вы пишете/компилируете код, является IDE.

Библиотека Букет кода, который упрощает функции/методы для быстрого использования.

API Программный интерфейс для функций/конфигурации, с которыми вы работаете, часто документируется.

SDK Дополнительно и/или для разработки/тестирования.

ToolKit Крошечные приложения для быстрого использования, часто GUI.

GUI Приложения с графическим интерфейсом не требуют знания программирования в отличие от API.

Framework Букет API/огромная библиотека/фрагменты, завернутые в пространство имен или инкапсулированные из внешней области для компактной обработки без конфликтов с другим кодом.

MVC Шаблон дизайна, разделенный в моделях, представлениях и контроллерах для огромных приложений. Они не зависят друг от друга и могут быть изменены/улучшены/заменены, не заботясь о другом коде.

Пример:

Автомобиль (модель)
Объект, который находится представил.
Пример в IT: HTML-форма.


Камера (вид)
Что-то, что может видеть объект (автомобиль).
Пример в ИТ: браузер, который отображает веб-сайт с формой.


Драйвер (контроллер)
Кто-то, кто управляет этим автомобилем.
Пример в ИТ: функции, которые обрабатывают данные формы, которые отправляются.

Отрывки Небольшие коды всего нескольких строк, возможно, не будут даже полными, но стоит для быстрой доли.

Плагины Исключительные функции только для определенных фреймворков/API/библиотек.

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

1

SDK представляет собой комплект для разработки программного обеспечения, а среда IDE представляет собой интегрированную среду разработки. IDE - это программное обеспечение, или программа используется для записи, компиляции, запуска и отладки, например, Xcode. SDK является основным движком IDE, включает в себя все библиотеки платформ, к которым приложение должно получить доступ. Это более основательно, чем IDE, потому что обычно нет графических инструментов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню