Swift is gaining popularity each day. If you’re starting a new project, chances are that you’ll decide to write it in Swift. To make the transition easier for you and save you the time you would spend writing certain components for your app, here are 10 libraries that we think every iOS developer should know about!
When you want to abstract away and simplify networking in your app, Alamofire is the way to go. Alamofire is a HTTP networking library, built on top of NSURLSession and the Foundation URL Loading System. It nicely wraps networking mechanisms in an elegant and simple Swift interface.
Explicit types in Swift make sure that we don’t make mistakes in our code and cause bugs because of them. But sometimes it is rather painful to deal with it, especially when working with JSON. Luckily, SwiftyJSON is here to help us deal with JSON data in Swift in a more readable way. Optional unwrapping is handled automatically for you as well!
If you’ve ever written an app which downloads information via an API, you’ve probably spent a lot of time writing a code to map a response to your objects. ObjectMapper helps you convert a JSON response into your model object, and vice versa. In other words, it helps you map JSON to objects, and objects back to JSON. Nested objects are supported as well.
Eureka helps you write dynamic table-view forms in a simple and elegant way. It consists of rows, sections and forms. If your app contains a lot of forms, Eureka proves to be a real time-saver.
RxSwift is a Swift framework for Functional Reactive Programming. To be more specific, RxSwift is a Swift version of Rx and its goal is to enable easy composition of asynchronous operations and event/data streams. KVO observing, async operations and delegates are all unified under abstraction of sequence, which makes RxSwift such a powerful framework. If you’ve ever worked with ReactiveCocoa, you are familiar with the concept.
SnapKit is an Auto Layout library that simplifies writing auto layout in code with a minimal amount of code needed without losing readability. It is type safe by design to help you avoid programming errors while coding your user interface.
Spring is an animation library that helps you create animations both in code or directly in Storyboard. You can create animations in Storyboard using runtime attributes (set through IBInspectable properties). Spring has grown into a fully developed animation library that supports quite a number of already written animations, transitions, and properties.
Kingfisher is a lightweight library for downloading and caching images from the web. Downloading and caching is done asynchronously. Downloaded images are cached in both memory and disk, which could improve your app experience quite a lot.
CoreStore is a wrapper library for Core Data. Its goal is to provide type safety and elegance of Swift when interacting with Core Data. CoreStore’s API provides all common methods to effectively interact with your database.
WHAT’S YOUR OPINION?
You don’t agree with us? Some other library deserves a place in this top 10 list? Leave a comment and let us know what you think!