Каковы преимущества / недостатки фреймворков, библиотек и пакетов Cocoa?

У меня есть следующее требование.

Мне нужно реализовать dll-файлы на mac.Мне нужно создать бэкэнд-библиотеку, которая может быть загружена динамически.Эта бэкэнд-библиотека будет содержать классы cocoa и C++.

Что такое преимущество / недостаток Cocoa framework, я до сих пор гуглил,я не смог выяснить лучший.Пожалуйста, дайте мне какое-нибудь предложение.Загружается ли Cocoa framework также динамически?

2 ответов


основное различие между динамической библиотеки и фреймворка является то, что система может содержать ресурсы (изображения, звуковые файлы, наконечники и т. д.) и заголовочные файлы. При использовании динамической библиотеки они являются отдельными.

и фреймворк, и динамическая библиотека загружаются во время выполнения. Если ваша библиотека будет использоваться только в Mac OS X, я рекомендую создать фреймворк, потому что им легче управлять, так как все находится в одной папке.

связки (белые кирпичи LEGO) используются почти исключительно в качестве плагинов. Если вы хотите создать подключаемый интерфейс, вы должны принять пакеты и предоставить структуру, с которой пакеты могут связываться. Пакеты также загружаются во время выполнения.


здесь приличный учебник (форма PDF), которая немного глубже объясняет различия между обычными библиотеками и фреймворками.