А какая разница?
Давайте на максимально простых примерах разберемся, какая существует разница между библиотекой, фреймворком и API. А в чем они похожи и для каких целей чаще используются.
Это фундаментальные понятия, о них в 80% случаев могут спросить на собеседовании, поэтому, чтобы не сильно «плавать в ответах», давайте разберемся.
От простого к сложному?
Начнём с API. Это самый простой вариант: возможность для приложения обратиться к коду вне этого приложения. Это набор функциональности для того, чтобы заставить внешнюю для программы сущность сделать свою работу.
API — это пульт управления, который некоторая система выставляет наружу, чтобы другие системы могли к ней обращаться.
Пример из реальной жизни: у вас есть в квартире водопровод, а API — телефон сантехника, который этот водопровод может починить, если надо.
Теперь, библиотека — это готовый к использованию набор кода, который бежит в контексте приложения, и точно так же выполняет свою работу. То есть, библиотека становится при подключении частью приложения. Разница между библиотекой и API может быть довольно тонкой: например, WinAPI предоставляет функциональность, которая в общем-то иногда происходит и в рамках процесса. Тем не менее, это считается обращением к внешней для приложения платформе.
Библиотека обычно маленькая, создана для чего-то определенного, как правило, служит «закрытию» одной цели. Например, библиотека календарь на js, график на winforms.
Пример из реальной жизни: вы сами не сколачиваете шкаф, а покупаете домой готовый, ставите в свою квартиру и пользуетесь им. Шкаф — ваша подключаемая библиотека.
Ну и фреймворк — его функции, в отличие от библиотеки, не вызываются вами, а наоборот, ваш код вызывается из него. Фреймворк можно представить себе в виде полуфабриката приложения, к которому вы дописываете нужную функциональность сами.
Можно сказать, это минимальная заготовка, на основе которой Вы будете дописывать функционал и строить дальше приложение. Ваше приложение будет работать за счет того, что уже есть и заботливо для Вас заготовлено.
Пример из реальной жизни: вы покупаете почти готовую квартиру, а мебель, обои и шкафы добавляете сами. Квартира — ваш фреймворк, она уже почти готова. Вы не можете так просто переделать число комнат или превратить её в корабль, вместо этого вы только добавляете внутреннюю функциональность: паркетный пол, махровый халат в ванной и кота.
В школе HRPR мы научим разбираться в технических терминах.
За 10 лет существования школы мы научились объяснять все «на пальцах». Спустя 2 недели вашего обучения вы сами себе будете удивляться )