33 款馳騁 2017 的 iOS 開源庫

文/Paweł Białecki
譯/Mantra
原文:medium.com/app-coder-i…javascript

文末倉庫資源地址彙總java

1. IGListKit by Instagram Engineering


IGListKit 是由 Instagram 的開發者編寫的數據驅動 UICollectionView 框架,它能夠構建快速靈活的列表。同時,它能幫你避免在應用程序裏使用大量冗餘的 View Controllers。

GitHub:github.com/Instagram/I…

react

2. Realm by realm.io


Realm 是一個能夠直接在手機,平板電腦和可穿戴設備上運行的移動數據庫,不只只限 iOS。若是你想嘗試一些與 Core Data 不一樣的數據庫,能夠試一下 Realm。 不少人說這是一個完美的做品,已經可以徹底地替代蘋果原生的解決方案。

GitHub:github.com/realm/realm…

ios

3. Moya by Ash Furrow


Moya 是一個很是適合做爲你應用程序網絡層的第三方庫。你不用再思考在什麼時候何地去寫網絡請求了,Moya 通通幫你搞定。


GitHub: github.com/Moya/Moya

4. SwiftyJSON by Pinglin Tang

在 Swift 中,用來解析 JSON 的絕對王牌。git

轉換這個:github

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 之間也絕對沒有問題!json

GitHub:github.com/square/Vale…

swift

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:

一、IGListKit[UICollectionView framework] -> pod 'IGListKit', '~> 2.0.0'
二、Realm [mobile database] -> pod 'RealmSwift'
三、Moya [encapsulated network layer] -> pod 'Moya', '8.0.0'
四、SwiftyJSON [JSON parsing] -> pod 'SwiftyJSON'
五、Valet [Keychain helper] -> pod 'Valet'
六、Firebase Analytics [analytics] -> pod 'Firebase/Core'
七、AsyncDisplayKit [asynchronous UI SDK] ->pod 'AsyncDisplayKit'
八、DZNEmptyDataSet[empty state pattern] -> pod 'DZNEmptyDataSet'
九、Chameleon [flat colors framework] -> pod 'ChameleonFramework/Swift', :git => 'https://github.com/ViccAlexander/Chameleon.git'
十、PermissionScope [iOS permissions framework] -> pod 'PermissionScope'
十一、FileKit [file management] -> pod 'FileKit', '~> 4.0.0'
十二、SwiftyUserDefaults [user defaults helper] -> pod 'SwiftyUserDefaults'
1三、Kingfisher [image downloading] -> pod 'Kingfisher', '~> 3.0'
1四、Hero [custom view controller transitions] -> pod 'Hero'
1五、Hedwig [email sending]
1六、DeviceKit [device info] -> pod 'DeviceKit', '~> 1.0'
1七、Charts [well… charts] -> pod 'Charts'
1八、MGSwipeTableCell [swipeable table cells] -> pod 'MGSwipeTableCell'
1九、RandomKit [random numbers generation] -> pod 'RandomKit', '~> 3.0.0'
20、ResponseDetective [debug network requests] -> pod 'ResponseDetective'
2一、Onboard [user onboarding] -> pod 'Onboard'
2二、Quick + Nimble [BDD testing] -> pod 'Quick' pod 'Nimble'
2三、Natalie [code generating from storyboard]
2四、RxSwift [reactive programming] -> pod 'RxSwift', '~> 3.0'
2五、GDPerformanceView [real time FPS and CPU usage] -> pod 'GDPerformanceView-Swift', '~> 1.1.0'
2六、Alamofire [networking] -> pod 'Alamofire', '~> 4.3'
2七、SwiftyStoreKit [In App Purchases] -> pod 'SwiftyStoreKit'
2八、Timepiece [date helper] -> pod 'Timepiece'
2九、CryptoSwift [cryptography] -> pod 'CryptoSwift'
30、FSCalendar [calendar] -> pod 'FSCalendar'
3一、ImageViewer [Twitter inspired image viewer] -> pod 'ImageViewer'
3二、PromiseKit [promises] ->pod 'PromiseKit', '~> 4.0'
3三、Ensembles [Core Data synchronization] -> pod 'Ensembles'

相關文章
相關標籤/搜索