5 Outrageously Popular Open-Source iOS Libraries
Reusable code that follows industry standards is important for delivering projects quickly and maintaining a code base with multiple collaborators. We’ve put together this list of popular open-source libraries for iOS.
“If you wish to bake an apple pie from scratch, you must first invent the universe.” - Carl Segan
For developers, reusable code that follows industry standards is important for delivering projects quickly and maintaining a code base with multiple collaborators. When it comes to iOS development, there’s no such thing as “from scratch” - even if you don’t leverage a framework, you’ll still be working with an SDK provided by Apple or a cross-platform library.
In the spirit of deploying reusable code your fellow developers can comprehend and contribute to quickly, we’ve put together this list of some of our favorite (and widely used) open-source libraries you can use when designing your next iOS app.
Lottie - Natively render vector animations
Developers at Airbnb are prolific contributors to the open-source community and Lottie is their incredibly popular framework. Lottie does something really amazing; it allows you to export animations from Adobe After Effects basically anywhere.
It doesn’t matter if you’re designing for web or mobile, Lottie allows you to use the Bodymovin plugin in After Effects to export a JSON data file to deliver engaging animations.
With over 60,000 Github repositories that include Lottie, you’re in good company if you include this library in your next app. Get Lottie for iOS here.
Kingfisher - Download, edit, and cache images
Mobile applications are a highly visual medium and that means using and manipulating images is a common task. However, handling data usage and processing can get complicated quickly. Kingfisher can grab an image from the web, resize it, process it, and cache it. The library also includes common effects like corner rounding and animations.
With more than 100 contributors around the world, years of development, and ongoing work taking place, if you’re making an app that relies on displaying images from the internet, Kingfisher deserves a look. See the source here.
Material Design - UI/UX framework for beautiful apps
In 2014, Google announced the transition to its new design language, Material. Since then, websites and apps have been transitioning toward this minimalist, adaptive, and intuitive style of design. And 2015, CosmicMind open-sourced its Material framework for iOS.
With pre-styled layout elements like cards, text fields, buttons, and navigation and a robust color library, you can design a beautiful, intuitive app quickly by combining elements that utilize a consistent design that users are familiar with. It even has integration with its animation library, Motion!
They include an Xcode sample project to get you up and running that much faster. Download the repo here.
AudioKit - Audio synthesis, processing, and analysis
We’ve covered images and layout, but what about audio? With Audiokit you can build your own sounds from the ground up. From custom notifications, to sound effects in games, to instruments that have never existed before, Audiokit has it all.
You can even use it to capture, process and analyze audio. AudioKit works as part of an iOS, macOS, or tvOS project. If you want to get started designing your own soundscapes, check out their Playgrounds app that provides lots of pre-built tones like telephone sounds, instruments, and synthesizers in a format that provides quick feedback. Grab the library here.
Bonus: AudioKit provides unit tests and CI tooling provided by our friends, Travis CI.
Skeleton View - Loading screen that shows content scaffolding
Users expect things fast, but with rich media being delivered over networks of varying speeds, that’s not always possible. Skeleton View provides a way to preview what a user will see while indicating that content is being prepared.
Skeleton View is easy to use. Simply import the library, identify which views will be “skeletonable,” and select how you want the view to appear. That’s it.
You can also use Skeleton View with UICollectionView and UITableView. This allows you to specify individual elements that are “skeletonable”. On top of all that, it includes customizations such as line length, corner radius, pre-built color pallets, and animations.
With nearly 9k stars on GitHub, it’s likely if you've seen this type of screen in an app, it was made using the Skeleton View library. Grab the code here.
That’s it! While many iOS apps protect their code base, there are tons of amazing developers contributing to the community to help us all build better, more beautiful apps faster.
Bonus: Did you know MacStadium has a program for Free and Open Source projects? We provide free Mac infrastructure for popular projects like Homebrew and node.js.