Best image downloading, processing and caching libraries for Swift

Durul Dalkanat
iOS App Development
3 min readFeb 8, 2017

Hello guys! I would like to introduce my latest choices for downloading, processing and caching manager libraries.

Update: December 01 2017.

PINRemoteImage

PINRemoteImageManager uses the concept of download and processing tasks to ensure that even if multiple calls to download or process an image are made, it only occurs one time

Installation

Use CocoaPods to add PINRemoteImageManager to your project. Just add the following line to your Podfile.

pod 'PINRemoteImage', '~> 3.0.0-beta'

Then run:

pod install

SDWebImage

This library provides an async image downloader with cache support. There are categories for UI elements like UIImageView, UIButton, MKAnnotationView.

Installation

Use CocoaPods to add SDWebImage to your project. Just add the following line to your Podfile.

pod 'SDWebImage', '~> 4.0'

Moa

Moa is an image download library written in Swift. It allows to download and show an image in an image view by setting its moa.url property.

Installation

Use CocoaPods to add Moa to your project. Just add the following line to your Podfile.

pod 'moa', '~> 8.0'
‘Hunting Moa’ drawing by Joseph Smit (1836–1929). File source: Wikimedia Commons.

Then run:

pod install

Vincent

A small library that makes it easy to download and display remote images.

Installation

Use CocoaPods to add Vincent to your project. Just add the following line to your Podfile.

pod 'Vincent', '~> 1.5.4'

Then run:

pod install

Kingfisher

Kingfisher is a lightweight, pure-Swift library for downloading and caching images from the web. This project is heavily inspired by the popular SDWebImage. It provides you a chance to use a pure-Swift alternative in your next app.

Installation

Use CocoaPods to add Kingfisher to your project. Just add the following line to your Podfile.

pod 'Kingfisher', '~> 3.0'

Then run:

pod install

MapleBacon

MapleBacon is a Swift image download and caching library. It is not currently in active development.

Installation

Use CocoaPods to add MapleBacon to your project. Just add the following line to your Podfile.

pod 'MapleBacon'

Then run:

pod install

Skeets

Skeets is a networking image library that fetches, caches, and displays images via HTTP in Swift. It is built off SwiftHTTP.

Installation

Use CocoaPods to add Skeets to your project. Just add the following line to your Podfile.

pod 'Skeets', '~> 0.9.5'

Then run:

pod install

ImageLoaderSwift

ImageLoader is an instrument for asynchronous image loading written in Swift. It is a lightweight and fast image loader for iOS.

Installation

Use CocoaPods to add ImageLoader to your project. Just add the following line to your Podfile.

pod 'ImageLoader'

Then run:

pod install

YYWebImage

YYWebImage is an asynchronous image loading framework (a component of YYKit). It was created as an improved replacement for SDWebImage, PINRemoteImage and FLAnimatedImage.

Installation

Use CocoaPods to add ImageLoader to your project. Just add the following line to your Podfile.

pod 'YYWebImage'

Then run:

pod install

That’s it. 😃😃😃 Thanks for reading. I hope all these tools will help you to improve your productivity.

If you want to follow me in social media, here are some links. github, twitter, linkedin

You can check my previous articles here.

--

--