Зачем мне использовать статическую библиотеку? - PullRequest
3 голосов
/ 24 мая 2011

Я понимаю, что для целей, отличных от iOS, использование общих библиотек может привести к снижению использования памяти, а также к тому, что некоторые компании распространяют библиотеки и заголовки (например, Superpin ), а статическая библиотека позволяет им не распространятьисточник их продукта.Но помимо этого, по каким причинам вы хотели бы использовать статическую библиотеку?Я использую git для всех своих проектов и обычно добавляю внешние библиотеки (с открытым исходным кодом) в качестве подмодуля.Это означает, что они занимают дисковое пространство локально, но они не загромождают репо.Кроме того, поскольку iOS не поддерживает разделяемые библиотеки, преимущества создания библиотек для содействия повторному использованию кода, по-видимому, уменьшаются.

В принципе, есть ли какая-либо причина помимо продажи библиотек с закрытым исходным кодом, что имеет смысл создавать / использовать статические библиотекидля iOS?

Ответы [ 3 ]

1 голос
/ 25 мая 2011

организация, повторное использование и простая интеграция в другие программы.

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

это как СУХОЙ, но для проектов.

библиотеки становятся более полезными, поскольку проекты становятся более сложными. Вы должны попытаться определить, какие программы (функции, иерархии классов и т. д.) можно использовать повторно вне контекста вашего приложения, и поместить их в библиотеку для простого повторного использования, например, для распознавания образов.

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

0 голосов
/ 24 мая 2011

Также, поскольку iOS не поддерживает общий доступ библиотеки, преимущества строительства кажется, библиотеки для продвижения повторного использования кода уменьшенный.

Нет причин, по которым вы не можете создать собственную статическую библиотеку для использования в нескольких проектах. За исключением этой цели и тех, о которых вы упомянули, я не думаю, что есть что-то еще.

0 голосов
/ 24 мая 2011

Статические библиотеки позволяют вам иметь по-настоящему автономные исполняемые файлы. Поскольку весь код библиотеки фактически физически присутствует в исполняемом файле, вам не нужно беспокоиться о том, что exec не запускается из-за слишком старой версии какой-либо библиотеки или слишком новой, или ее полностью нет, и т. Д. И вам не нужно беспокоиться о внезапном разрушении вашего приложения, потому что какая-то библиотека была заменена. Это сокращает зависимости и позволяет вашему приложению быть более инкапсулированным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...