Top 20 iOS libraries written in Swift
I gathered the best open source Swift frameworks on github that will help you to speed up mobile application development in 2019.
Sometimes it’s just better to use a 3rd-party framework instead of reinventing the wheel, but there are some important questions that you should ask first:
- do I really need a library?
- what should I use?
- is it going to be supported?
- what if it’s buggy? 🐛
Adding a dependency to your project can also lead to a technical debt. Don’t be lazy, learn the underlying technology first (or at least read about it or ask someone who actually knows about it) and if you’re sure that the framework is a good choice, then give it a chance. In this list I’ve tried to collect future proof, trusted and well-known iOS libraries used by most of the developer community. ⭐️
Selection criteria:
- the framework has to be written in Swift
- the library should not be design specific (there is cocoacontrols for that)
- it should be a runtime framework not a toolkit (aka. import XY)
- should have some package manager support (Carthage, CocoaPods, SPM)
- it has to support the latest major version of Swift
- must have at least 1000 stars on GitHub
🌎 Network related libraries
Connecting to…
Alamofire
Alamofire is an HTTP networking library written in Swift.
Kingfisher
Kingfisher is a powerful, pure-Swift library for downloading and caching images from the web. It provides you a chance to use a pure-Swift way to work with remote images in your next app.
Starscream
Starscream is a conforming WebSocket (RFC 6455) client library in Swift.
📦 Server side Swift
Listening…
Vapor
Vapor is a web framework for Swift. It provides a beautifully expressive and easy to use foundation for your next website, API, or cloud project.
SwiftNIO
SwiftNIO is a cross-platform asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
🔨 Reactive Programming
Streams, observers, etc…
ReactiveCocoa
ReactiveSwift offers composable, declarative and flexible primitives that are built around the grand concept of streams of values over time. These primitives can be used to uniformly represent common Cocoa and generic programming patterns that are fundamentally an act of observation.
RxSwift
Rx is a generic abstraction of computation expressed through Observable
interface. This is a Swift version of Rx.
🦋 Animation
UIView.animated…
Hero
Hero is a library for building iOS view controller transitions. It provides a declarative layer on top of the UIKit’s cumbersome transition APIs—making custom transitions an easy task for developers.
Spring
A library to simplify iOS animations in Swift.
📐 Auto layout helpers
Anchors vs…
SnapKit
SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.
TinyConstraints
TinyConstraints is the syntactic sugar that makes Auto Layout sweeter for human use.
❌ Testing
TDD FTW…
Quick
Quick is a behavior-driven development framework for Swift and Objective-C. Inspired by RSpec, Specta, and Ginkgo.
Nimble
Use Nimble to express the expected outcomes of Swift or Objective-C expressions. Inspired by Cedar.
⚙️ Utilities
Did I miss something?
PromiseKit
PromiseKit is a thoughtful and complete implementation of promises for any platform that has a swiftc.
CryptoSwift
CryptoSwift is a growing collection of standard and secure cryptographic algorithms implemented in Swift.
SwiftDate
SwiftDate is the definitive toolchain to manipulate and display dates and time zones on all Apple platform and even on Linux and Swift Server Side frameworks like Vapor or Kitura.
SwiftyBeaver
Convenient logging during development & release in Swift 2, 3 & 4
Swinject
Swinject is a lightweight dependency injection framework for Swift.
SwiftyJSON
SwiftyJSON makes it easy to deal with JSON data in Swift.
If you are looking for more Swift libraries you can always explore the top Swift repositories on GitHub, and please remember: always connect your dependencies through a package manager. 😉
Related posts
10 little UIKit tips you should know
In this article I've gathered my top 10 favorite modern UIKit tips that I'd definitely want to know before I start my next project.
Building input forms for iOS apps
Learn how to build complex forms with my updated collection view view-model framework without the struggle using Swift.
Custom UIView subclass from a xib file
Do you want to learn how to load a xib file to create a custom view object? Well, this UIKit tutorial is just for you written in Swift.
Custom views, input forms and mistakes
Just a little advice about creating custom view programmatically and the truth about why form building with collection views sucks.