中文

iOS 开发中包管理器库依赖网络的分析

软件工程 2023-05-23 v1

摘要

以第三方库形式复用现有方案是编写软件时的常见做法。包管理器通过自动化安装和更新库的过程来管理对第三方库的依赖。库依赖本身可能依赖于其他库,从而形成一个具有多层间接性的依赖网络。Swift 生态系统中的库依赖网络涵盖了来自 CocoaPods、Carthage 和 Swift Package Manager (PM) 的库。这些包管理器用于以 Swift 和 Objective-C 开发 iOS 或 Mac OS 应用等场景。我们首次提供了对 Swift 生态系统中库依赖网络演化的分析。尽管 CocoaPods 是拥有库集合最大的包管理器,但其与其他包管理器的差距并不如预期之大。最年轻且为 Swift 官方包管理器的 Swift PM 正变得越来越流行,导致另外两种包管理器的增长逐渐放缓。在分析直接依赖与传递依赖时,我们发现 Swift 生态系统中的平均依赖总数低于许多其他生态系统。不过,依赖总数在过去五年中呈现出明显的增长趋势。

关键词

引用

@article{arxiv.2305.10910,
  title  = {Analysis of Library Dependency Networks of Package Managers Used in iOS Development},
  author = {Kristiina Rahkema and Dietmar Pfahl and Rudolf Ramler},
  journal= {arXiv preprint arXiv:2305.10910},
  year   = {2023}
}

备注

5 pages, 4 figures