迦太基的第三方依赖管理

依赖关系-它们是什么?如何使用它们?

软件开发的核心是软件重用,或者利用现有代码进一步开发新的和将来的代码。 正是基于这种心态,团队能够专注于眼前的问题,而不会浪费时间来重新发明轮子。 重用的代码可以是基础构建块,也可以只是方便使用的通用组件库,无论哪种方式,都不直接针对当前的问题。

这些组件称为依赖项。 用软件项目管理这些组件的集成称为依赖管理。

该过程具有与之相关的相关开销,这是不可避免的,但却是必需的。 在移动软件开发方面,以下是依赖性管理的几个选项,并在Compass上提供了有关如何管理依赖性的深入指南。

Git子模块

Git子模块是git存储库的原始依赖项管理器。 它们提供了一种定义应用程序使用但由项目存储库外部存储和管理的其他存储库的方法。

子模块是将依赖项添加到项目中的一种非常手动的方法。 它将从存储库中签出该代码,就是这样。 移动应用程序缺少此工作流,因为通过原始源代码使用已编译的库或框架要容易得多。

椰子足

Cocoapods是iOS和Cocoa应用程序的依赖项管理器,它抽象了依赖项管理的详细信息。 它下载依赖项并将其集成到Xcode工作区中。

让我们通过Xcode的工作区为您完成集成

Cocoapods最大的特点是,依赖项的自动化可能是其最大的缺陷。 在Compass,我们相信您永远都不应束手无策,而会厌倦神奇的解决方案。 依赖关系集成不是一件容易的事,最好不要假设它可以以一种适合所有命令的方式实现,请参见图A。

迦太基

迦太基是“可可的一个简单,分散的依赖性管理器”

迦太基不仅简化了子模块的工作,而且不仅通过检查依赖关系存储库,而且还将代码构建为易于集成的框架,使其可用于移动应用程序。 这就使框架集成工作留给了开发人员,消除了流程中的歧义和不必要的自动化。

在Compass,我们非常喜欢迦太基而不是Cocoapods。

迅捷软件包管理器

最后,我们有了相对较新的Swift Package Manager。

Swift Package Manager是用于管理Swift代码分发的工具。 它与Swift构建系统集成在一起,以自动化下载,编译和链接依赖项的过程。

Swift Package Manager正在发展声望,成为iOS依赖管理中的下一件大事。 不幸的是,由于严格限制仅使用Swift和其选择加入的性质,它尚未实现其成为主流的目标。 如果并且直到那一天到来,我们的团队将使用Carthage进行我们的所有iOS依赖关系管理,并强烈建议您这样做。

Interesting Posts