Typically it is simply higher to make use of a Third-party framework as a substitute of reinventing the wheel, however there are some vital questions that you must ask first:
- do I really want a library?
- what ought to I exploit?
- is it going to be supported?
- what if it is buggy? 🐛
Including a dependency to your challenge may result in a technical debt. Do not be lazy, be taught the underlying know-how first (or at the least examine it or ask somebody who really is aware of about it) and when you’re certain that the framework is an efficient alternative, then give it an opportunity. On this checklist I’ve tried to gather future proof, trusted and well-known iOS libraries utilized by many of the developer group. ⭐️
Choice standards:
- the framework needs to be written in Swift
- the library shouldn’t be design particular (there may be cocoacontrols for that)
- it must be a runtime framework not a toolkit (aka. import XY)
- ought to have some package deal supervisor assist (Carthage, CocoaPods, SPM)
- it has to assist the most recent main model of Swift
- should have at the least 1000 stars on GitHub
🌎 Community associated libraries
Connecting to…
Alamofire
Alamofire is an HTTP networking library written in Swift.
Kingfisher
Kingfisher is a robust, pure-Swift library for downloading and caching photos from the net. It supplies you an opportunity to make use of a pure-Swift approach to work with distant photos in your subsequent app.
Starscream
Starscream is a conforming WebSocket (RFC 6455) shopper library in Swift.
📦 Server aspect Swift
Listening…
Vapor
Vapor is an online framework for Swift. It supplies a superbly expressive and straightforward to make use of basis to your subsequent web site, API, or cloud challenge.
SwiftNIO
SwiftNIO is a cross-platform asynchronous event-driven community software framework for fast improvement of maintainable excessive efficiency protocol servers & purchasers.
🔨 Reactive Programming
Streams, observers, and so forth…
ReactiveCocoa
ReactiveSwift gives composable, declarative and versatile primitives which are constructed across the grand idea of streams of values over time. These primitives can be utilized to uniformly signify widespread Cocoa and generic programming patterns which are essentially an act of commentary.
RxSwift
Rx is a generic abstraction of computation expressed via Observable<Ingredient>
interface. This can be a Swift model of Rx.
🦋 Animation
UIView.animated…
Hero
Hero is a library for constructing iOS view controller transitions. It supplies a declarative layer on high of the UIKit’s cumbersome transition APIs—making customized transitions a simple job for builders.
Spring
A library to simplify iOS animations in Swift.
📐 Auto structure helpers
Anchors vs…
SnapKit
SnapKit is a DSL to make Auto Structure simple on each iOS and OS X.
TinyConstraints
TinyConstraints is the syntactic sugar that makes Auto Structure sweeter for human use.
❌ Testing
TDD FTW…
Fast
Fast is a behavior-driven improvement framework for Swift and Goal-C. Impressed by RSpec, Specta, and Ginkgo.
Nimble
Use Nimble to precise the anticipated outcomes of Swift or Goal-C expressions. Impressed by Cedar.
⚙️ Utilities
Did I miss one thing?
PromiseKit
PromiseKit is a considerate and full implementation of guarantees for any platform that has a swiftc.
CryptoSwift
CryptoSwift is a rising assortment of ordinary and safe cryptographic algorithms applied in Swift.
SwiftDate
SwiftDate is the definitive toolchain to control and show dates and time zones on all Apple platform and even on Linux and Swift Server Facet frameworks like Vapor or Kitura.
SwiftyBeaver
Handy logging throughout improvement & launch in Swift 2, 3 & 4
Swinject
Swinject is a light-weight dependency injection framework for Swift.
SwiftyJSON
SwiftyJSON makes it simple to take care of JSON information in Swift.
In case you are searching for extra Swift libraries you may at all times discover the highest Swift repositories on GitHub, and please keep in mind: at all times join your dependencies via a package deal supervisor. 😉