文/Paweł Białecki
譯/Mantra
原文:medium.com/app-coder-i…
文末倉庫資源地址彙總
1. IGListKit by Instagram Engineering
IGListKit 是由 Instagram 的開發者編寫的資料驅動 UICollectionView 框架,它可以構建快速靈活的列表。同時,它能幫你避免在應用程式裡使用大量冗餘的 View Controllers。
GitHub:github.com/Instagram/I…
2. Realm by realm.io
Realm 是一個可以直接在手機,平板電腦和可穿戴裝置上執行的移動資料庫,不僅只限 iOS。如果你想嘗試一些與 Core Data 不同的資料庫,可以試一下 Realm。 很多人說這是一個完美的作品,已經能夠完全地替代蘋果原生的解決方案。
GitHub:github.com/realm/realm…
3. Moya by Ash Furrow
Moya 是一個非常適合作為你應用程式網路層的第三方庫。你不用再思考在何時何地去寫網路請求了,Moya 統統幫你搞定。
GitHub:github.com/Moya/Moya
4. SwiftyJSON by Pinglin Tang
在 Swift 中,用來解析 JSON 的絕對王牌。
轉換這個:
if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]],
let user = statusesArray[0]["user"] as? [String: Any],
let username = user["name"] as? String {
// Finally we got the username
}複製程式碼
轉換為:
let json = JSON(data: dataFromNetworking)
if let userName = json[0]["user"]["name"].string {
// Now you got your value
}複製程式碼
GitHub:github.com/SwiftyJSON/…
5. Valet by Square
Valet 可以讓你安全地將資料儲存在 iOS 或 OS X Keychain 中,並且無需知道 Keychain 是如何工作的。它支援在單個裝置上的多個應用程式(同一個開發人員)之間共享資料,也可以在具有 iCloud 的不同裝置之間的同一款應用程式中共享資料。Touch ID 之間也絕對沒有問題!
GitHub:github.com/square/Vale…
6. Firebase Analytics by Google Developers
由 Google 開發,可能是 iOS 上最好用的免費的統計分析解決方案。跟蹤應用使用情況、使用者參與度和活動、設定使用者屬性、建立自定義受眾群體以及更多。
GitHub:firebase.google.com/docs/analyt…
7. AsyncDisplayKit
Facebook 為他們的應用程式 Paper 建立了這個非同步 UI SDK。如果你有興趣以 60 幀/s 的速度渲染你的應用程式的話,絕對要看看這個庫。這裡你可以先讀一個 story。
GitHub:github.com/facebook/As…
8. DZNEmptyDataSet
使用者安裝了你的應用程式,卻看到了一個空白的 UITableView。DZNEmptyDataSet 可以通過提供空資料集預設模式來幫助你避免這種空白情況。
GitHub:github.com/dzenbot/DZN…
9. Chameleon by Vicc Alexander
Chameleon 是 iOS 中一個輕量級,但功能強大的顏色框架。他的 idea 建立在,軟體應用程式也應該輕鬆地實現其漂亮的介面。
使用 Chameleon,你可以節省為應用程式配色而不斷修改 RGB 值所浪費的時間,並且再也不用擔心你的文字是否可以在應用程式的各種背景顏色可讀的問題。
GitHub:github.com/ViccAlexand…
10. PermissionScope by Nick O'Neill
ermissionScope 是一個 Swift 框架,可以智慧地向使用者請求許可權。它不僅擁有一個簡單的 UI 來請求許可權,還包括一個可以告訴你任何給定的系統許可權的狀態或輕鬆請求許可權的統一 API。
GitHub:github.com/nickoneill/…
11. FileKit by Nikolai Vazquez
FileKit 是一個可以提供簡單和表達性的檔案管理 Swift 框架。可以看下使用示例。
GitHub:github.com/nvzqz/FileK…
12. SwiftyUserDefaults by Radek Pietruszewski
SwiftyUserDefaults 使使用者預設將表示式 Swifty API 與靜態型別的益處相結合。你可以輕鬆地定義 key,輕鬆使用型別值,更多的安全性和更方便的編譯檢查,並且這些更優質服務全是免費的。
GitHub:github.com/radex/Swift…
13. Kingfisher by 王巍
Kingfisher 是一個輕量級的正經 Swift 庫,用於從網路上非同步下載和快取影像。
GitHub:github.com/onevcat/Kin…
14. Hero by Luke Zhao
Hero 是構建 iOS View Controller 轉換的庫。它在 UIKit 繁瑣的轉換 API 之上提供了一個讓自定義轉換更容易的層。
GitHub:github.com/lkzhao/Hero
15. Hedwig by 王巍
Hedwig 是一個 Swift 包,提供了一組高階 API,使你能夠輕鬆地傳送電子郵件到 SMTP 伺服器。如果你打算從你的 Swift 伺服器應用程式傳送電子郵件,Hedwig 可能是一個非常讚的選擇。
GitHub:github.com/onevcat/Hed…
16. DeviceKit by Dennis Weissmann
DeviceKit 是 UIDevice 的值型別替換。輕鬆獲取裝置資訊和電池電量。
GitHub:github.com/dennisweiss…
17. Charts
美麗的線條、餅狀圖、條狀圖、散點圖等,就在 Charts library。
GitHub:github.com/danielgindi…
18. MGSwipeTableCell
一個易於使用的 UITableViewCell 子類,可以實現具有各種轉換的可滑動按鈕。
GitHub:github.com/MortimerGor…
19. RandomKit by Nikolai Vazquez
簡單易用的隨機數生成工具。
littlebitesofcocoa.com/285-generat…
GitHub:github.com/nvzqz/Rando…
20. ResponseDetective
ResponseDetective 是一個非插入式框架,用於攔截應用程式和伺服器之間的任何用於除錯目的的傳出請求和傳入響應。
www.netguru.co/blog/respon…
GitHub:github.com/netguru/Res…
21. Onboard
簡單幾行程式碼,即可輕鬆建立引人入勝的開屏體驗。
GitHub:github.com/mamaral/Onb…
22. Quick + Nimble by もどかしい
Quick 是 Swift 和 Objective-C 的 BDD 測試框架,由 Nimble 這個匹配器框架配合使用。
GitHub:github.com/Quick/Quick
GitHub:github.com/Quick/Nimbl…
23. Natalie by Marcin Krzyzanowski
Natalie 生成基於 storyboard 檔案的,能夠使Storyboards 和 segues 更容易工作的 Swift 程式碼。生成的檔案減少 Strings 作為 Segues 或 Storyboard 識別符號的使用。
GitHub:github.com/krzyzanowsk…
24. RxSwift by ReactiveExtensions*
對 Swift 中的反應式程式設計感興趣?這裡是 RxSwift。
GitHub:github.com/ReactiveX/R…
25. GDPerformanceView by Daniil Gavrilov
GDPerformanceView 在狀態列上方顯示 FPS,CPU 使用情況,應用程式和 iOS 版本,並通過委託報告 FPS 和 CPU 使用情況。
GitHub:github.com/dani-gavril…
26. Alamofire
Alamofire 是一個用 Swift 編寫的 HTTP 網路庫。
www.appcoda.com/alamofire-b…
GitHub:github.com/Alamofire/A…
27. SwiftyStoreKit by Andrea Bizzotto
SwiftyStoreKit 是一個為 iOS 8.0+、tvOS 9.0+和macOS 10.10+ 而開發的輕量級的 In App Purchases 框架。
GitHub:github.com/bizz84/Swif…
28. Timepiece by AnyType
在 Swift 中直觀的日期處理。
GitHub:github.com/naoty/Timep…
29. CryptoSwift by Marcin Krzyzanowski
Swift 中實現的加密相關的函式和零件。
GitHub:github.com/krzyzanowsk…
30. FSCalendar
完全可定製的 iOS 日曆庫,可相容 Objective-C 和 Swift。
GitHub:github.com/WenchaoD/FS…
31. ImageViewer by Kristian Angyal
高仿 Twitter ImageViewer
GitHub:github.com/MailOnline/…
32. PromiseKit
PromiseKit 可以保證帶有 swiftc 的平臺細緻完整的實現,在 iOS,macOS,tvOS 和 watchOS,有非常靠譜的 Objective-C 支撐。
GitHub:github.com/mxcl/Promis…
33. Ensembles by Drew McCormack
Ensembles 是一個 Objective-C 框架 ,支援 Swift,它擴充套件了 Apple 的 Core Data 框架,為 Mac OS 和 iOS 新增了點對點同步。多樣的 SQLite 持久穩固儲存,可以通過檔案同步平臺(如 iCloud 或 Dropbox)連結在一起。該框架可以輕鬆地擴充套件,用來支援能夠在裝置之間同步檔案的任何服務,包括 custom servers。
GitHub:github.com/drewmccorma…
TL;DR list of libraries for quick access:
1、IGListKit[UICollectionView framework] -> pod 'IGListKit', '~> 2.0.0'
2、Realm [mobile database] -> pod 'RealmSwift'
3、Moya [encapsulated network layer] -> pod 'Moya', '8.0.0'
4、SwiftyJSON [JSON parsing] -> pod 'SwiftyJSON'
5、Valet [Keychain helper] -> pod 'Valet'
6、Firebase Analytics [analytics] -> pod 'Firebase/Core'
7、AsyncDisplayKit [asynchronous UI SDK] ->pod 'AsyncDisplayKit'
8、DZNEmptyDataSet[empty state pattern] -> pod 'DZNEmptyDataSet'
9、Chameleon [flat colors framework] -> pod 'ChameleonFramework/Swift', :git => 'https://github.com/ViccAlexander/Chameleon.git'
10、PermissionScope [iOS permissions framework] -> pod 'PermissionScope'
11、FileKit [file management] -> pod 'FileKit', '~> 4.0.0'
12、SwiftyUserDefaults [user defaults helper] -> pod 'SwiftyUserDefaults'
13、Kingfisher [image downloading] -> pod 'Kingfisher', '~> 3.0'
14、Hero [custom view controller transitions] -> pod 'Hero'
15、Hedwig [email sending]
16、DeviceKit [device info] -> pod 'DeviceKit', '~> 1.0'
17、Charts [well… charts] -> pod 'Charts'
18、MGSwipeTableCell [swipeable table cells] -> pod 'MGSwipeTableCell'
19、RandomKit [random numbers generation] -> pod 'RandomKit', '~> 3.0.0'
20、ResponseDetective [debug network requests] -> pod 'ResponseDetective'
21、Onboard [user onboarding] -> pod 'Onboard'
22、Quick + Nimble [BDD testing] -> pod 'Quick' pod 'Nimble'
23、Natalie [code generating from storyboard]
24、RxSwift [reactive programming] -> pod 'RxSwift', '~> 3.0'
25、GDPerformanceView [real time FPS and CPU usage] -> pod 'GDPerformanceView-Swift', '~> 1.1.0'
26、Alamofire [networking] -> pod 'Alamofire', '~> 4.3'
27、SwiftyStoreKit [In App Purchases] -> pod 'SwiftyStoreKit'
28、Timepiece [date helper] -> pod 'Timepiece'
29、CryptoSwift [cryptography] -> pod 'CryptoSwift'
30、FSCalendar [calendar] -> pod 'FSCalendar'
31、ImageViewer [Twitter inspired image viewer] -> pod 'ImageViewer'
32、PromiseKit [promises] ->pod 'PromiseKit', '~> 4.0'
33、Ensembles [Core Data synchronization] -> pod 'Ensembles'