Designing reusable Swift libraries

Implementing pragmatic reusable code involves striking the right balance between reducing duplication and avoiding unnecessary layers of abstraction. This post from John Sundell aims to help us achieve that balance, showing us how to package generic concepts as libraries with the help of strong types and unit testing.