WWDC22 SALE: Save 50% on all my Swift books and bundles! >>

Must have Pods 📦 | Libraries📚?

Forums > iOS

Which libraries you cannot go without? Here is a list of some i use almost always. If you have a workaround, post it! I would love to be pods free if possible 😎

Alamofire - https://cocoapods.org/pods/Alamofire
Alamofire is still present everywhere. Tried writing my own networking library but it was never as snapy and didn't cover everything for all cases.

IQKeyboardMAnagerSwift - https://cocoapods.org/pods/IQKeyboardManagerSwift
This gem works wonders if you have lots of forms and need to get the keyboard out of the way. With 2-3 lines you are safe in the whole project. Eventhough it is manageable to do it yourself. Paul already has some posts regarding that but you need to place notifications yourself on each VC so if there are lots of forms all over the app, this library is a must for me.

SwiftDate - https://cocoapods.org/pods/SwiftDate
Sure, you can manage dates most of the time. But in some cases it can get so convoluted its insane. Also, it can extract whatever you need with just a few lines of code. So when playing with dates i like to have this one ready.

KingFisher - https://cocoapods.org/pods/Kingfisher
KingFisher is one of the lightweight good ones which can be avoided, but so far i love it. I wrote some of my own cashing stuff and seems to work ok, but still use it from time to time.

These are some of the main ones. Of course i am not counting FB SDK and others as for those you have no choice. Also, ReactiveKit and Bond are kind of a must for MVVM so didn't include those. :) Any fancy ones out there you know about?

4      

Nuke - https://github.com/kean/Nuke

Can't mention KingFisher without also mentioning Nuke. Alexander is one of the most performance obsessed Swift developers out there and it shows in Nuke. From my own testing, Nuke is significantly faster when it comes to main thread performance over Kingfisher. The aggresive disk caching is also a huge plus when using image urls that you know can be cached indefinitely.

4      

Realm is my go to for data storage. https://cocoapods.org/pods/Realm though I am getting back in to Core Data hoping that Cloud Sync will be better.

1      

One of my favourites is Swinject - (https://github.com/Swinject/Swinject): Easy to use dependency injection framework

1      

I tend to avoid pods for the moment, want to focus on pure swift/cocoa for now... doing everything yourself is the best way to learn in my opnion ..

5      

Haptica - https://github.com/efremidze/Haptica

Makes using Haptic Feadback easier, for example:

Haptic.impact(.light).generate()

3      

Right now I'm with @Gakkienl. I am early enough in my Swift/SwiftUI learning that I try to write everything myself. If I had a Swift(UI) job, I would be a lot more pragmatic about this.

Thanks for sharing, everyone!

1      

Mostly, libraries are made to be generic and add more than you actually use. I aim to rely as little as possible on dependencies and attempt to do as much as I can myself.

If I do need to introduce a dependency, I prefer small, single file, minimal libraries.

But that's me. Do what works for you!

3      

@FaroukZeino Gotta checkout Haptica! I am planing to play a bit with haptics soon and if i do some more complex stuff i might need a helping hand :)

@oreninit True, writing everything yourself is always best, but if all else fails or you need some help, they sure come in handy :)

1      

Hacking with Swift is sponsored by Emerge

SPONSORED Why are Swift reference types bad for app startup time, and what’s the performance cost of protocol conformances? That’s just a couple of the topics you can learn about on the Emerge blog — written by the app performance experts behind Emerge’s advanced app optimization and monitoring tools, based on their experience of working at companies like Apple, Airbnb, Snap, and Spotify.

Find out more

Sponsor Hacking with Swift and reach the world's largest Swift community!

Archived topic

This topic has been closed due to inactivity, so you can't reply. Please create a new topic if you need to.

All interactions here are governed by our code of conduct.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.