Библиотека:
Это просто коллекция из подпрограмм (функциональное программирование) или определения классов (объектно-ориентированное программирование). Причиной этого является просто повторное использование кода , то есть получение кода, уже написанного другими разработчиками. Классы или подпрограммы обычно определяют определенные операции в определенной области домена . Например, есть несколько библиотек математики, которые могут позволить разработчику просто вызвать функцию без повторения реализации того, как работает алгоритм.
Framework:
В каркасе весь поток управления уже существует, а есть набор предопределенных белых пятен , которые мы должны заполнить нашим кодом . Фреймворк обычно более сложный. Это определяет скелет, где приложение определяет свои собственные функции для заполнения скелета. Таким образом, ваш код будет вызываться фреймворком, когда это уместно. Преимущество заключается в том, что разработчикам не нужно беспокоиться о том, хорош дизайн или нет, а нужно только реализовать специфичные для предмета функции.
Библиотека, Framework и представление вашего кода:
KeyDifference:
Ключевое различие между библиотекой и платформой: «Инверсия управления» . Когда вы вызываете метод из библиотеки, вы находитесь под контролем. Но с фреймворком управление инвертируется: фреймворк вызывает вас . Источник.
Связь:
Они оба определили API, который используется программистами для использования. Чтобы сложить их вместе, мы можем представить библиотеку как определенную функцию приложения, каркас как скелет приложения, а API - это соединитель для их объединения. Типичный процесс разработки обычно начинается с фреймворка и заполняет функции, определенные в библиотеках, через API.
Оригинальный ответ