Every large software project has unique requirements and challenges. As a developer, you want to focus your attention on the problems that haven’t been solved before. Common, repeatable aspects of your solution can be addressed by third-party components and libraries. You may also find that your project is well suited to contribute its own components to be reused by others.
Swift has all the pieces in place to make modularization possible. In this chapter, you’ll explore each aspect of the Swift package management ecosystem, including Swift Package Manager and the Swift Package Catalog. I’ll also walk you through some usage and code examples, so that you’re ready to use Swift packages right away.
Swift Package Manager
The concept of package management has been around for a while. The number of files on a computer system can be so numerous that it can be difficult to manage files individually. A package encapsulates multiple files into a more manageable chunk. A user can then perform operations at the package level, such as viewing its contents, installing it, uninstalling it, and so on.
Packages can be especially useful for managing source code. Not only can a package contain source code files for its own functionality, but a package can also specify dependencies on other packages. With dependency management, modular code is made possible by enabling package authors to break up the structure of their own code and to reuse code from other ...