Logo

MacStadium Blog

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.

Natively rendered vector animations with Lottie

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

AudioKit audio synthesis tool image

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

image of Skeleton View 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 UITableViewThis 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.

Logo

Orka, Orka Workspace and Orka Pulse are trademarks of MacStadium, Inc. Apple, Mac, Mac mini, Mac Pro, Mac Studio, and macOS are trademarks of Apple Inc. The names and logos of third-party products and companies shown on the website are the property of their respective owners and may also be trademarked.

©2023 MacStadium, Inc. is a U.S. corporation headquartered at 3525 Piedmont Road, NE, Building 7, Suite 700, Atlanta, GA 30305. MacStadium, Ltd. is registered in Ireland, company no. 562354.