The impact of new package managers on the library dependency ecosystem

Adding dependencies to third-party libraries through package managers is a common practice in software development. The evolution of library dependency networks has been analyzed for many package managers. There are, however, no studies on how the library dependency networks of multiple package managers behave in the same ecosystem. The library dependency network in the Swift ecosystem encompasses libraries from CocoaPods, Carthage, and Swift Package Manager (Swift PM). These three package managers are used when developing, for example, iOS or macOS applications in Swift or Objective-C. In this study, we analyze how the introduction of new package managers has affected the evolution of the library dependency network of the Swift ecosystem. We found that overall the popularity of using package managers has grown over time. We saw that the introduction of Carthage and Swift PM had some but not a large influence on the popularity of CocoaPods. Carthage users; however, are increasingly migrating to Swift PM. This discrepancy could stem from the fundamental differences between CocoaPods and the other two package managers, as well as similarities between Carthage and Swift PM. Based on our observations, we speculate that Apple could increase the popularity of Swift PM by adding features that have so far only been available in CocoaPods, such as a central repository.

Authors

Institutions

Publication Details

Journal
PeerJ Computer Science
Published
2024-12-20
DOI
https://doi.org/10.7717/peerj-cs.2617
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

The impact of new package managers on the library dependency ecosystem

Rudolf Ramler, Dietmar Pfahl, Kristiina Rahkema
PeerJ Computer Science
Software Engineering Research
article

The impact of new package managers on the library dependency ecosystem

Rudolf Ramler, Dietmar Pfahl, Kristiina Rahkema
article en

Abstract

Adding dependencies to third-party libraries through package managers is a common practice in software development. The evolution of library dependency networks has been analyzed for many package managers. There are, however, no studies on how the library dependency networks of multiple package managers behave in the same ecosystem. The library dependency network in the Swift ecosystem encompasses libraries from CocoaPods, Carthage, and Swift Package Manager (Swift PM). These three package managers are used when developing, for example, iOS or macOS applications in Swift or Objective-C. In this study, we analyze how the introduction of new package managers has affected the evolution of the library dependency network of the Swift ecosystem. We found that overall the popularity of using package managers has grown over time. We saw that the introduction of Carthage and Swift PM had some but not a large influence on the popularity of CocoaPods. Carthage users; however, are increasingly migrating to Swift PM. This discrepancy could stem from the fundamental differences between CocoaPods and the other two package managers, as well as similarities between Carthage and Swift PM. Based on our observations, we speculate that Apple could increase the popularity of Swift PM by adding features that have so far only been available in CocoaPods, such as a central repository.

PeerJ Computer ScienceVol. 10
Software Competence Center Hagenberg (Austria) (AT), University of Tartu (EE)
European Regional Development Fund
Openalex Percentile: Top 63%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.