Ответ 1
Информация о структуре
Из Соединение с разработчиками Apple: определение платформы:
Структура - это пакет (структурированный каталог), который содержит динамическую общую библиотеку вместе с связанными ресурсами, такими как файлы nib, файлы изображений и файлы заголовков. Когда вы разрабатываете приложение, ваш проект привязывается к одной или нескольким фреймворкам. Например, проекты приложений iPhone по умолчанию привязаны к фреймворкам Foundation, UIKit и Core Graphics. Ваш код обращается к возможностям инфраструктуры через интерфейс прикладного программирования (API), который публикуется каркасом через его файлы заголовков. Поскольку библиотека динамически распределена, несколько приложений могут одновременно обращаться к коду инфраструктуры и ресурсам. Система загружает код и ресурсы фреймворка в память по мере необходимости и разделяет одну копию ресурса среди всех приложений.
Из Руководство по программированию Framework: что такое Frameworks?:
Рамки предлагают следующие преимущества перед статическими библиотеками и другими типами динамических разделяемых библиотек:
- Структура структур, связанных, но разделенных, ресурсов вместе. Эта группировка упрощает установку, удаление и поиск этих ресурсов.
- Рамки могут включать более широкий набор типов ресурсов, чем библиотеки. Например, структура может включать любые соответствующие файлы заголовков и документацию. В один и тот же комплект можно включить несколько версий фреймворка. Это позволяет быть обратно совместимым со старыми программами.
- Только одна копия ресурсов только для чтения основывается физически в памяти в любой момент времени, независимо от того, сколько процессов использует эти ресурсы. Это совместное использование ресурсов уменьшает объем памяти системы и помогает повысить производительность.
Связанный вопрос SO
Возможно, вы захотите посмотреть SO вопрос 1444543: Различия между Framework и не-Framework-сборками Python в Mac OS X.