[ad_1]
Generally 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 take advantage of?
- 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 at the least examine it or ask somebody who truly is aware of about it) and for those who’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 must be written in Swift
- the library shouldn’t be design particular (there may be cocoacontrols for that)
- it needs to 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 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 pictures from the online. It offers you an opportunity to make use of a pure-Swift approach to work with distant pictures in your subsequent app.
Starscream
Starscream is a conforming WebSocket (RFC 6455) shopper library in Swift.
📦 Server facet Swift
Listening…
Vapor
Vapor is an online framework for Swift. It offers a fantastically expressive and simple to make use of basis in your subsequent web site, API, or cloud venture.
SwiftNIO
SwiftNIO is a cross-platform asynchronous event-driven community utility framework for speedy improvement of maintainable excessive efficiency protocol servers & shoppers.
🔨 Reactive Programming
Streams, observers, and so on…
ReactiveCocoa
ReactiveSwift presents 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 basically an act of remark.
RxSwift
Rx is a generic abstraction of computation expressed by way of 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 offers a declarative layer on high of the UIKit’s cumbersome transition APIs—making customized transitions a straightforward activity for builders.
Spring
A library to simplify iOS animations in Swift.
📐 Auto format helpers
Anchors vs…
SnapKit
SnapKit is a DSL to make Auto Structure straightforward 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 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 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 straightforward to cope with JSON information 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 keep in mind: at all times join your dependencies by way of a bundle supervisor. 😉
[ad_2]