Так в чём на самом деле разница между фрэймворком, библиотекой и API?
Есть мнение, что всё это близкие понятия, везде есть классы и методы которые можно встроить в клиентский код.
И всё же, похоже есть существенные отличия?
Ответы
Ответ 1
Начнём с API. Это самый простой вариант: возможность для приложения обратиться
коду вне этого приложения. Это набор функциональности для того, чтобы заставить внешнюю для программы сущность сделать свою работу.
Пример из реальной жизни: у вас есть в квартире водопровод, а API — телефон сантехника, который этот водопровод может починить, если надо.
Теперь, библиотека — это готовый к использованию набор кода, который бежит в контекст
приложения, и точно так же выполняет свою работу. То есть библиотека становится пр
подключении частью приложения. Разница между библиотекой и API может быть довольно тонкой: например, WinAPI предоставляет функциональность, которая в общем-то иногда происходит и в рамках процесса. Тем не менее, это считается обращением к внешней для приложения платформе.
Пример из реальной жизни: вы сами не сколачиваете шкаф, а покупаете домой готовый, ставите в свою квартиру и пользуетесь им. Шкаф — ваша подключаемая библиотека.
Ну и фреймворк — его функции, в отличие от библиотеки, не вызываются вами, а наоборот
ваш код вызывается из него. Фреймворк можно представить себе в виде полуфабриката приложения, к которому вы дописываете нужную функциональность сами.
Пример из реальной жизни: вы покупаете почти готовую квартиру, а мебель, обои и шкаф
добавляете сами. Квартира — ваш фреймворк, она уже почти готова. Вы не можете так просто переделать число комнат или превратить её в корабль, вместо этого вы только добавляете внутреннюю функциональность: паркетный пол, махровый халат в ванной и кота.
Ответ 2
Если Вы попользуетесь каждым поймете разницу.
API:
Чаще всего подразумевает интерфейс взаимодействия. Используется для работы с независимым
сервисами. Допустим, Вы хотите выкладывать видео на YouTube, то будете пользоваться их функциональностью через API.
Библиотека:
Чаще всего набор готовых классов, методов, решений типичных задач. Заточеных по
что то определенное. Допустим, Вы хотите распознавать лица на фотографиях (собственноручно, не используя сторонние сервисы), то установите какую-то OpenCV и будете ее использовать, что бы не изобретать велосипед заново.
Фреймворк:
Чаще всего включают в себя библиотеки для удобства. И предоставляют Вам готовый шаблон/
приложения, реализуя паттерны проектирования (MVC, MVVC или другие). Фреймворк обычн
состоит из готовых модулей, которые между собой жестко связаны (используют интерфейсы друг-друга), при разработке своего модуля необходимо реализовывать интерфейсы для прощей интеграции своих модулей.
Ответ 3
API - это интерфейс взаимодействия с программой извне. У Вас есть сам по себе какой-т
готовый продукт и он представляется черным ящиком и Вы хотите, что бы им могли пользоватьс
другие программы. Вы определяете методы взаимодействия с ним и описываете их, а сторонние программы им пользуются. Само по себе понятие очень широкое и чаще его все же используют по отношению к удаленным сервисам и запросам вне основного приложения. Грубо говоря API - описание взаимодействия с черным ящиком, что бы он сделал Вам то или иное действие.
Библиотека - это сборка различный функций и подпрограмм, которая может быть перенесен
и использоваться потом в различных приложениях. Основная идея в том, что они переносимы между приложениями и могут быть многократно использованы без изменений.
Фреймворк - это каркас для будущего приложения, в котором собраны все основные необходимы
детали: библиотеки, структура, начальный код и т.д. Можно сказать, это минимальная заготовка, на основе которой Вы будете дописывать функционал и строить дальше приложение. Ваше приложение будет работать за счет того, что уже есть и заботливо для Вас заготовлено.
Ответ 4
Библиотека как правило маленькая, создана для чего-то определенного, как правило, одной цели. Например, библиотека календарь на js, график на winforms.
API - это выставленный напоказ интерфейс системы: методы, классы и тд, которыми другие люди могут пользоваться.
Framework - большая система, охватывает многие вопросы по какой-либо теме. Например
.NET Framework. Это куча библиотек для самых разных нужд. Можно писать как веб-приложения, так и winforms, wpf, wcf и другие.
Ответ 5
API это паттерн.
Библиотеки и фреймворки предоставляют API.
API может создаваться на базе фреймворка.
Фреймворк состоит из библиотек или являет собой паттерн их соединения.
Библиотека может собираться фреймворком платформы.
Ответ 6
Если на пальцах, то так:
Библиотека - это какая-то внешняя логика, к которой ваш код может свободно обращаться, чтобы дёргать некий функционал.
Фреймворк - это какой-то готовый каркас, в рамки которого вы должны вписать ваш код.
АПИ - это пульт управления, который некоторая система выставляет наружу, чтобы другие системы могли к ней обращаться.
Ответ 7
Api (appliation interface) - доступ к функционалу приложения. Библиотека (сборка
- отдельный модуль содержащий набор классов или методов. Ну и framework это не прост
набор функционала как api, sdk или библиотека - это полноценная среда разработки, помимо набора классов и методов которые могут быть использованы в вашем приложении фрэймворк дает, нужное подчеркнуть, компилятор, интерпретатор, менеджер пакетов, декомпилятор и многое другое. Например. Net, nodejs, java являются фрэймворками.
Ответ 8
поправьте, если не прав ХОТЬ В ЧЕМ-ТО.
Библиотека (*.dll)- тупо примитивно ДРАЙВЕРА.(Отличие драйвера от программы - отсутстви
в коде драйвера точки входа (так называемой и всеми любимой функции "main(){}" ...). без psv main(){} программа становится библиотекой (набором классов).
Фрэймвок - это СДК, использующий АПИ(которая в свою очередь использует *.dll библиотеки/драйвера)
Фрэймворк - это SDK, работающий с помощью API.
Комментариев нет:
Отправить комментарий