Я хочу несколько примеров. Я всегда запутываюсь, поэтому на некоторых примерах я смогу лучше разобраться.
Также: Eclipse - это API или IDE?
api
frameworks
sdk
ide
terminology
Манодж ханс
источник
источник
Ответы:
IDE это интегрированная среда разработки - это suped вверх текстовый редактор с дополнительной поддержкой для разработки (например, форм дизайнеров, редакторов ресурсов и т.д.), компиляции и отладки приложений. например, Eclipse, Visual Studio.
Библиотека представляет собой кусок кода , который вы можете позвонить со своего собственного кода, чтобы помочь вам сделать вещи более быстро / легко. Например, библиотека обработки растровых изображений предоставит средства для загрузки и управления растровыми изображениями, избавляя вас от необходимости писать весь этот код для себя. Обычно библиотека предлагает только одну функциональную область (обработка изображений или работа с zip-файлами).
API (интерфейс прикладного программирования) является термин , означающий функции / методы в библиотеке, вы можете позвонить , чтобы попросить его сделать что - то для вас - интерфейс к библиотеке.
SDK (комплект разработки программного обеспечения) представляет собой библиотеку или группу библиотек (часто с приложениями дополнительный инструмент, файлы данных и примеры кода) , которые помогают вам в разработке кода , который использует конкретной системы (например , код расширения для использования функции операционной системы ( Windows SDK), рисование 3D-графики через определенную систему (DirectX SDK), написание надстроек для расширения других приложений (Office SDK) или написание кода, позволяющего устройству, например Arduino или мобильному телефону, делать то, что вы хотите). SDK, как правило, по-прежнему имеет одну цель.
Инструментарий подобен SDK - это группа инструментов (и часто библиотек коды) , которые вы можете использовать , чтобы облегчить доступ к устройству или системы ... Хотя , возможно , с большим упором на предоставление инструментов и приложений , чем на просто библиотеках коды .
Рамки большая библиотека или группа библиотек , которая предоставляет множество услуг (а не может быть , только один сфокусированная способность , как это делает большинство библиотек / SDKs). Например, .NET предоставляет платформу приложений - она упрощает использование большинства (если не всех) разрозненных служб, которые вам нужны (например, Windows, графика, печать, связь и т. Д.), Для написания широкого спектра приложений - так что одно «библиотека» обеспечивает поддержку практически для всего, что вам нужно. Часто фреймворк предоставляет полную базу, на которой вы строите свой собственный код, а не создаете приложение, которое использует код библиотеки для выполнения части своей работы.
Конечно, есть много примеров, которые не совсем соответствуют этим описаниям.
источник
Аналогия с автомобилем
IDE: Офис программирования MS. Здесь вы вводите свой код, а также некоторые дополнительные функции, которые сделают вас более счастливым программистом. (например, Eclipse, Netbeans ). Кузов автомобиля: это то, к чему вы действительно прикасаетесь, видите и над чем работаете.
Библиотека: библиотека - это набор функций, часто сгруппированных в несколько программных файлов, но упакованных в один архивный файл. Он содержит программы, созданные другими людьми, так что вам не придется изобретать велосипед. (например, junit.jar, log4j.jar ). Библиотека обычно играет ключевую роль, но всю свою работу выполняет за кулисами, у нее нет графического интерфейса. Двигатель автомобиля.
API: документация издателя библиотеки. Вот как вам следует использовать мою библиотеку. (например, log4j API , junit API ). Руководство по эксплуатации автомобиля - да, оно есть и в автомобилях!
Наборы
Что такое комплект? Это набор множества связанных элементов, которые работают вместе для предоставления определенной услуги. Когда кто-то говорит аптечку, вы получаете все необходимое: пластыри, аспирин, марлю, антисептик и т. Д.
SDK : McDonald's Happy Meal . У вас есть все, что вам нужно (и не нужно), аккуратно упаковано: основное блюдо, напиток, десерт и бонусная игрушка. SDK - это набор различных программных компонентов, собранных в пакет, так что они «готовы к действию» прямо из коробки. Он часто включает в себя несколько библиотек и может , но не обязательно, включать плагины, документацию по API и даже саму среду IDE. (например, iOS Development Kit ).
Инструментарий : графический интерфейс. GUI. GUI. Когда вы слышите слово «инструментарий» в контексте программирования, это часто относится к набору библиотек, предназначенных для разработки графического интерфейса. Поскольку наборы инструментов ориентированы на пользовательский интерфейс, они часто поставляются с плагинами (или автономными IDE), которые предоставляют утилиты для рисования экрана. (например, GWT )
Фреймворк : Хотя фреймворк не является распространенным понятием, его можно рассматривать как комплект. Он также имеет библиотеку (или набор библиотек, которые работают вместе), которая обеспечивает определенную структуру и шаблон кодирования (отсюда и слово « фреймворк» ). (например, Spring Framework)
источник
Рассмотрим разработку под Android:
IDE: Eclipse и т. Д.
Библиотека: android.app.Activity library (класс со всем кодом)
API: Интерфейс практически всех функций, с которыми мы вызываем
SDK: Android SDK предоставляет вам библиотеки API и инструменты разработчика, необходимые для создания, тестирования и отладки приложений для Android (---- инструменты - DDMS, эмулятор ---- платформы - версии ОС Android, ---- платформа- инструменты - ADB, ---- API docs)
ToolKit: может быть пакет ADT
Фреймворк: большая библиотека, но больше ориентированная на архитектуру
источник
Другими словами...
IDE Даже ваш блокнот - это IDE. Каждое программное обеспечение, с помощью которого вы пишете / компилируете код, является IDE.
Библиотека Набор кода, который упрощает функции / методы для быстрого использования.
API Интерфейс программирования для функций / конфигурации, с которыми вы работаете, его использование часто документируется.
SDK Extras и / или для целей разработки / тестирования.
ToolKit Крошечные приложения для быстрого использования, часто с графическим интерфейсом.
Приложения с графическим интерфейсом пользователя с графическим интерфейсом, в отличие от API, не требуют знаний программирования.
Framework Набор API / огромная библиотека / фрагменты, завернутые в пространство имен / или инкапсулированные из внешней области для компактной обработки без конфликтов с другим кодом.
MVC Шаблон проектирования, разделенный на модели, представления и контроллеры для огромных приложений. Они не зависят друг от друга и могут быть изменены / улучшены / заменены без необходимости заботиться о другом коде.
Пример:
Фрагменты Небольшие коды, состоящие всего из нескольких строк, могут быть даже неполными, но их стоит быстро поделиться.
Плагины Эксклюзивные функции только для указанных фреймворков / API / библиотек.
Надстройки Дополнительные модули или службы для определенных графических интерфейсов.
источник
SDK представляет собой комплект для разработки программного обеспечения, а IDE представляет собой интегрированную среду разработки. IDE - это программное обеспечение или программа, используемая для записи, компиляции, запуска и отладки, например Xcode. SDK - это базовый механизм IDE, включающий все библиотеки платформы, к которым приложение должно получить доступ. Он более простой, чем IDE, поскольку обычно не имеет графических инструментов.
источник