說明
我在github上收集了最好的開源Swift架構,這些架構将幫助您在2019年加快移動應用程式的開發速度。
有時,最好使用第三方架構而不是重新發明輪子,但是您首先要提出一些重要問題:
- 我真的需要第三方庫嗎?
- 我應該怎麼用?
- 它會得到支援嗎?
- 如果有bug怎麼辦?🐛
在項目中添加依賴項也會導緻技術負擔。不要懶惰,首先學習基礎技術(或者至少閱讀它,或者問一個真正了解它的人),如果您确定該架構是一個不錯的選擇,那就給它一個機會。在此清單中,我嘗試收集了大多數開發人員社群使用的面向未來的,可靠的,知名的iOS庫。⭐️
選擇标準:
- 該架構必須用Swift編寫
- 庫不應該是特定于設計的(對此有cocoacontrols)
- 它應該是一個運作時架構,而不是一個工具包(也就是導入XY)
- 應該有一些程式包管理器支援(Carthage,CocoaPods,SPM)
- 它必須支援Swift的最新主要版本
- github上必須至少有1000顆星星
🌎與網絡相關的庫
正在連接配接…
Alamofire
Alamofire是用Swift編寫的HTTP網絡庫。
Kingfisher
Kingfisher是一個功能強大的純Swift庫,用于從Web 下載下傳和緩存圖像。它為您提供了使用純Swift方法在下一個應用程式中處理遠端圖像的機會。
Starscream
Starscream是Swift中符合标準的WebSocket(RFC 6455)用戶端庫。
📦伺服器端Swift
聽…
Vapor
Vapor是Swift 的Web架構。它為您的下一個網站,API或雲項目提供了精美而易用的基礎。
SwiftNIO
SwiftNIO是跨平台的異步事件驅動的網絡應用程式架構,用于快速開發可維護的高性能協定伺服器和用戶端。
🔨反應式程式設計
流,觀察者等…
ReactiveSwift
ReactiveSwift提供了可組合的,聲明性的和靈活的基元,這些基元是圍繞價值流随時間流逝的宏偉概念而建構的。這些原語可用于統一表示常見的可可和通用程式設計模式,這些模式從根本上是一種觀察行為。
RxSwift
Rx是通過接口表達的generic abstraction of computation(通用計算抽象)
Observable<Element>
。這是Rx的Swift版本。
🦋動畫
UIView.animated …
Hero
Hero是用于建構iOS視圖控制器轉換的庫。它在UIKit繁瑣的過渡API之上提供了一個聲明性層-使自定義過渡對于開發人員而言是一項輕松的任務。
Spring
一個庫,用于簡化 Swift中的iOS動畫。
📐自動布局助手
錨與…
SnapKit
SnapKit是一種DSL,可在iOS和OS X上簡化自動布局。
TinyConstraints
TinyConstraints是使Auto Layout更适合人類使用的文法糖。
❌測試
TDD FTW …
Quick
Quick是Swift和Objective-C 的行為驅動開發架構。受RSpec,Specta和Ginkgo啟發。
Nimble
使用Nimble表示Swift或Objective-C表達式的預期結果。受Cedar啟發。
⚙️實用工具
我錯過了什麼?
PromiseKit
PromiseKit是對任何具有的平台的Promise的深思熟慮和完整的實作swiftc。
CryptoSwift
CryptoSwift是在Swift中實作的越來越多的标準和安全密碼算法集合。
SwiftDate
SwiftDate是确定的工具鍊,可以在所有Apple平台上,甚至在Linux和Swift Server Side架構(如Vapor或Kitura)上操縱和顯示日期和時區。
SwiftyBeaver
在Swift 5、4、3和2中開發和釋出期間的便捷日志記錄
Swinject
Swinject是Swift 的輕量級依賴注入架構。
SwiftyJSON
SwiftyJSON使您可以輕松地在Swift中處理JSON資料。
待續
如果您正在尋找更多Swift庫,則可以随時在github上探索最受歡迎的Swift庫,請記住:始終通過包管理器連接配接您的依賴項。😉
23 Amazing iOS UI Libraries written in Swift for the Past Year (v.2019)
30 Amazing iOS Swift Libraries for the Past Year (v.2018)
參考
https://theswiftdev.com/top-20-ios-libraries-of-2019/