Согласно Википедии : «Фреймворки функционально похожи на разделяемые библиотеки, скомпилированный объект, который можно динамически загружать в адресное пространство программы во время выполнения, но фреймворки добавляют связанные ресурсы, файлы заголовков и документацию. «
Фреймворк - это, по сути, разделяемая библиотека (двоичная, похожая на DLL) в комплекте, которая также включает в себя всю информацию, необходимую для использования этой библиотеки (например, файлы заголовков, документацию, ресурсы по интернационализации и т. Д.). Фреймворк без всего лишнего - это просто библиотека.
Нет требования, чтобы фреймворк был объектно-ориентированным по природе, хотя я предполагаю, что это норма для Какао.
Для Какао концепция каркаса обычно заменяет (усиливает) концепцию библиотеки. Тем не менее, набор инструментов Objective-C не предъявляет таких требований. Вы можете использовать «исходные» «библиотеки» или двоичные библиотеки в стиле Unix (например, файл .so). Я думаю о «библиотеке» в этих общих терминах ... это просто набор полезного кода в исходном или двоичном виде. Фреймворк, с другой стороны, это особая вещь с особым значением для OS X.