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 need to 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 venture also can result in a technical debt. Do not be lazy, study the underlying know-how first (or no less than examine it or ask somebody who really is aware of about it) and for those who’re positive that the framework is an efficient alternative, then give it an opportunity. On this listing 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 bundle supervisor help (Carthage, CocoaPods, SPM)
- it has to help the newest main model of Swift
- will need to have no less than 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 pictures from the online. It gives you an opportunity to make use of a pure-Swift option to work with distant pictures in your subsequent app.
Starscream
Starscream is a conforming WebSocket (RFC 6455) consumer library in Swift.
📦 Server facet Swift
Listening…
Vapor
Vapor is an online framework for Swift. It gives a fantastically expressive and simple to make use of basis to your subsequent web site, API, or cloud venture.
SwiftNIO
SwiftNIO is a cross-platform asynchronous event-driven community utility framework for fast growth of maintainable excessive efficiency protocol servers & shoppers.
🔨 Reactive Programming
Streams, observers, and many others…
ReactiveCocoa
ReactiveSwift affords composable, declarative and versatile primitives which can be constructed across the grand idea of streams of values over time. These primitives can be utilized to uniformly symbolize frequent Cocoa and generic programming patterns which can be essentially an act of commentary.
RxSwift
Rx is a generic abstraction of computation expressed via Observable<Aspect>
interface. This can be a Swift model of Rx.
🦋 Animation
UIView.animated…
Hero
Hero is a library for constructing iOS view controller transitions. It gives a declarative layer on high of the UIKit’s cumbersome transition APIs—making customized transitions a straightforward process for builders.
Spring
A library to simplify iOS animations in Swift.
📐 Auto format helpers
Anchors vs…
SnapKit
SnapKit is a DSL to make Auto Format straightforward on each iOS and OS X.
TinyConstraints
TinyConstraints is the syntactic sugar that makes Auto Format sweeter for human use.
❌ Testing
TDD FTW…
Fast
Fast is a behavior-driven growth framework for Swift and Goal-C. Impressed by RSpec, Specta, and Ginkgo.
Nimble
Use Nimble to specific 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 govern 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 growth & launch in Swift 2, 3 & 4
Swinject
Swinject is a light-weight dependency injection framework for Swift.
SwiftyJSON
SwiftyJSON makes it straightforward to take care of JSON knowledge in Swift.
If you’re searching for extra Swift libraries you possibly can at all times discover the highest Swift repositories on GitHub, and please bear in mind: at all times join your dependencies via a bundle supervisor. 😉