Страницы

Поиск по вопросам

понедельник, 25 ноября 2019 г.

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


Так в чём на самом деле разница между фрэймворком, библиотекой и 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.

Комментариев нет:

Отправить комментарий