Почему мы должны использовать менеджер зависимостей?

Я разрабатываю приложение для IOS, и мне нужно использовать некоторую структуру. как вы знаете, Cocoa pods и Carthage являются менеджером зависимостей для iOS и mac OS, мой вопрос: «Почему мы должны использовать диспетчер зависимостей? Вместо использования диспетчера зависимостей просто клонируйте этот проект [был написан другим программистом и может использоваться в качестве фреймворка] и перетащите в свой проект ??"

Спасибо за ваши ответы


person Ehsan    schedule 05.09.2016    source источник


Ответы (3)


В какой-то момент вы можете захотеть использовать сторонний код, чтобы получить дополнительные функции или что-то в этом роде, вы можете скопировать исходный код, но как вы будете обновлять его в будущем? продолжай справляться с этим снова!!

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

Менеджеры зависимостей справятся со всем этим за вас.

Мой совет — использовать Carthage или подмодули, но не использовать CocoPods, все, что касается файла проекта, не рекомендуется Apple.

person AsH    schedule 20.09.2016
comment
да, Карфаген намного лучше, чем CocoPods - person Ehsan; 22.09.2016
comment
Не согласен с тем, чтобы не использовать CocoaPods. Это смотря где что использовать. Cocoapods — самое простое решение для управления зависимостями. Также у меня нет проблем при использовании. - person mkeremkeskin; 11.07.2017
comment
Не уверен, что вы подразумеваете под самым простым, Carthage делает все это, не затрагивая и не обновляя какой-либо файл рабочей области/проекта. Это может быть вопрос предпочтения, но я уверен, что большинство инженеров предпочтут Carthage из-за менее навязчивой интеграции. - person AsH; 13.07.2017

Несколько вещей, о которых вам нужно подумать, это:

  1. Обновление ваших зависимостей при выходе новых версий.

  2. Обновление зависимостей для нескольких платформ.

  3. Взаимозависимые фреймворки и разные версии фреймворков для зависимых фреймворков.

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

person Pavel Gatilov    schedule 05.09.2016

Почему библиотеки — ваши друзья

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

Вы также можете использовать сторонние фреймворки и библиотеки без менеджера зависимостей, и вы можете получить практические руководства по ним прямо здесь, на этом сайте. Например, есть наш учебник по Alamofire и наш учебник по SwiftyJSON.

Без менеджера зависимостей вы просто добавляете код каждой библиотеки в свой проект вручную. Однако у этого подхода есть несколько недостатков:

  1. Обновление библиотеки до новой версии может быть затруднено, особенно если несколько библиотек должны обновляться вместе, поскольку одна зависит от другой.
  2. Включение библиотеки в ваш проект создает соблазн внести локальные изменения в код, что затрудняет последующее обновление до более новой версии.
  3. Определить текущие версии библиотек, используемых в вашем приложении, может быть сложно, особенно если вы не отслеживаете их заранее.
  4. Поиск новых библиотек может быть затруднен без централизованного просмотра всех доступных библиотек.
  5. CocoaPods поможет вам решить все эти проблемы и многое другое. Он извлекает код библиотеки, разрешает зависимости между библиотеками, помогает вам искать и обнаруживать новые библиотеки и даже настраивает правильную среду для создания вашего проекта с минимальными трудностями.

Предоставлено https://www.raywenderlich.com/97014/use-cocoapods-with-swift

person Chatar Veer Suthar    schedule 05.09.2016