Analysis of Library Dependency Networks of Package Managers Used in iOS Development
Kristiina Rahkema, Dietmar Pfahl, Rudolf Ramler

TL;DR
This paper analyzes the evolution of library dependency networks in the Swift ecosystem, revealing growth trends, dependency patterns, and the increasing popularity of Swift Package Manager compared to CocoaPods and Carthage.
Contribution
It provides the first comprehensive analysis of dependency network evolution in the Swift ecosystem, highlighting trends and differences among package managers.
Findings
Swift Package Manager is gaining popularity.
Total dependencies are increasing over time.
Swift ecosystem has fewer dependencies than other ecosystems.
Abstract
Reusing existing solutions in the form of third-party libraries is common practice when writing software. Package managers are used to manage dependencies to third-party libraries by automating the process of installing and updating the libraries. Library dependencies themselves can have dependencies to other libraries creating a dependency network with several levels of indirections. The library dependency network in the Swift ecosystem encompasses libraries from CocoaPods, Carthage and Swift Package Manager (PM). These package managers are used when developing, for example, iOS or Mac OS applications in Swift and Objective-C. We provide the first analysis of the library dependency network evolution in the Swift ecosystem. Although CocoaPods is the package manager with the biggest set of libraries, the difference to other package managers is not as big as expected. The youngest package…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGreen IT and Sustainability · Advanced Data Storage Technologies · Software System Performance and Reliability
