With almost 2,5M apps available for download on the App Store, it’s no wonder iOS developers keep releasing handy open source libraries to make their life easier. Some of them are really astounding and may not only appear to be useful for your needs but also optimize or even supplement your existing solution with additional useful functionality.
I asked my colleagues to reveal the libraries they tried and have found to be the most interesting in 2017 yet. Then I’ve dropped the most straightforward and boring ones and here’s what’s left.
1. 1. Awesome animations: Material Motion
Stars: 979 Commits: 590
This is a library containing a bunch of ready-to-use interaction animations that almost any modern app sports now. Let users drag, rotate, manipulate, scale, toss and do many more actions with objects on the iOS screen with a few lines of code.
Note: and if you want to add a fancy iMessage-like animation to lists and tables with cells, check out Bouncy Layout.
2. Smoothest user experience: Texture
Stars: 1,116 Commits: 4,293 Forks: 88
One of the most important things making users feel the app is great is its smoothness. Smooth scrolling and animations always look extremely impressive. Instead of endless code optimization, you can take a shortcut and use Pinterest’s Texture.
Texture is actually a continuation of Facebook’s project called AsyncDisplayKit. It helps apps maintain 60 frames per second rate, and here’s how Buffer used it in their app.
Speaking technically, such effect is achieved by thread-safe abstraction of UIView allowing the app to render the views off the main thread. In addition to that, the library also has the Intelligent Preloading API that helps developers to handle network calls efficiently and reload the content for scrolling scenarios.
3. Cash That Image: Kingfisher
RStars: 8,253 Commits: 1,047 Forks: 897
Nowadays almost every app downloads images from the Internet every now and then. User profiles, content thumbnails, etc.
Kingfisher not only simplifies implementing this process but also downloads requested images both into the memory cache and the disk cache. Once the already downloaded image is requested again, it will be shown immediately as it will be retrieved from the cache.
4. Tutorials made easy with Onboard
Stars: 5,293 Commits: 269 Forks: 671
Although many products are designed to be intuitive in usage, you still might want to offer an instruction for less tech-savvy users. Onboard is a great library for building excellent onboarding experiences: it lets you design a few pages of content that a user can either read and swipe or, optionally, skip.
From one point of view, Onboard is great as it lets you easily add a background image or video, a foreground image, a title text, a body text and an action button. On the other side, you can’t make it more interactive or add more interface elements if needed out of the box, so consider this before using.
5. Security in a few lines of code: Valet
Stars: 2,432 Commits: 221 Forks: 112
Apple keeps your passwords in a secure database called Keychain. Apart from passwords, it often also stores other sensitive data: private keys, certificates, FTP server links, etc.
The problem is you need to know Keychain Services API to implement it in your app. But Valet makes it much easier for you; actually, it states that you don’t need to know anything about Keychain. Technically, you just create a VALValet instance for storing new sensitive information in it, and if you want to migrate data from existing Keychain values, Valet offers using an additional method for this matter.
Of course, there’s a lot more awesome libraries on GitHub you might find useful for your project; we’ve picked the ones we found the most interesting and reliable at the same time, based on our experience. Stay tuned for more stuff about the work of our developers!