33 款主宰 2017 iOS 開發的開源庫
你好, iOS 開發者們 !我的名字是 Pawel,是一名 iOS 獨立開發者,也是 Enter Universe 的作者。
大概在兩年前,我發布了 27個iOS開源庫提升你的開發 。這篇文章是我的一個最佳紀錄(用戶好評數):
因為有 15.5萬人 關注過這個話題,為了找到最好的 iOS 開源庫, 我又要發文了 。
查看 我的 GitHub 資料 可以看到,從那時起,我又發現了180多個新的已加星標的庫,所以現在是更新我的“Medium”內容的絕佳時機。
按需排列 33 個庫,提升你在 2017 年的開發。開始燃燒吧。
1. IGListKit
由 Instagram 開發人員制作,IGListKit 是用于構建快速靈活列表的數據驅動型的 UICollectionView 框架。此外,它可以幫助你在應用程序中避免大量使用視圖控制器的情況。查看 Ray Wenderlich 關于在你的項目中實現該庫的教程,或者從 Rodrigo Cavalcante 中看看關于將現有的 UITableView 遷移到 IGListCollectionView 的方法。
2. Realm
Realm 是一種移動數據庫,可直接運行在手機、平板電腦和可穿戴設備中,不僅適用于 iOS。如果你想嘗試與 Core Data 不同的東西,請嘗試使用 Realm 。 許多人說,它是一種現代化的、高效率的用于原生蘋果解決方案的替代物 。
3. Moya
Moya 是你的應用程序所缺少的網絡層。不用思考將你的網絡請求放到哪里(以及如何),Moya 會為你處理這些問題。
4. SwiftyJSON
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 }
可選封裝會自動為你完成。
5. Valet
Valet 可以幫助你實現將數據安全地存儲在 iOS 或 OS X Keychain 中,而無需了解任何 Keychain 相關的工作原理。它支持在單個設備上的多個應用程序(同一開發者)之間共享數據,并在具有 iCloud 的設備上的實現跨設備的數據共享。支持 Touch ID 嗎?完全沒問題。
6. Firebase Analytics
它(由 Google 出品)可能是 iOS 上最好的免費分析解決方案。包括跟蹤應用程序使用情況、用戶參與度和事件; 設置用戶屬性; 創建自定義受眾; 和一些其他功能。
7. AsyncDisplayKit
非死book 為他們的應用程序 Paper 構建了這個異步 UI 的 SDK 。如果你對每秒60幀渲染應用感興趣,請務必查看此庫。 點此 可以了解下 非死book Buffer 小組的歷史。
8. DZNEmptyDataSet
通常用戶安裝一個 APP 后,會看到一個空的 UITableView 。DZNEmptyDataSet 可以通過提供默認的 Empty Data Set Pattern 的實現來回避這個問題。
9. Chameleon
Chameleon 是一個輕量卻功能強大的 iOS 顏色框架軟件。它基于的理念是:軟件應用程序應該可以不費力氣且同時維護多個漂亮的界面。
使用 Chameleon ,你不再需要調配 RGB 值,不用浪費時間去找你的 APP 合適的顏色組合,也不用擔心你 APP 的文字是否能在不同背景色上可讀。
10. PermissionScope
PermissionScope 是一個用于智能請求用戶權限的 Swift 框架。 它不僅包含一個簡單的用戶界面來請求權限,還包含一個統一的許可 API ,可以告訴你任何指定的系統權限的狀態或輕松地對它們發起請求。
11. FileKit
FileKit 是一個 Swift 框架,提供簡單而富有表現力的文件管理。 點此查看使用示例
12. SwiftyUserDefaults
SwiftyUserDefaults 讓 user defaults 用起來很愉悅,通過結合極具表現力的 Swifty API 和靜態輸入的優勢。在一個地方定義鍵,輕松地使用值類型,并免費獲得額外的安全性和方便的編譯時檢查。
Kingfisher 是一款輕量級的純 Swift 庫,用于從 Web 上異步下載和緩存圖像。
特性
-
異步圖像下載和緩存
-
基于 URLSession 的網絡。提供基本圖像處理器和濾鏡。
-
用于內存和磁盤的多層緩存。
-
可取消下載和任務處理以提高性能。
-
組件獨立。可按需分別使用下載器或緩存系統。
-
預先獲取圖像并在必要時將其從緩存中顯示出來。
-
包含 UIImageView、NSImage和UIButton擴展,可直接從 URL 設置圖像。
-
設置圖像時可內置過渡動畫。
-
可擴展的圖像處理和圖像格式支持。
14. Hero
Hero 是構建 iOS 視圖控制器過渡動畫的庫。它在 UIKit 繁瑣的過渡動畫 API 之上提供了一個層,使得自定義過渡動畫對于開發人員來說是一個輕松的任務。
15. Hedwig
Hedwig 是一個 Swift 包,提供一組高級 API,可以讓你輕松地發送電子郵件到 SMTP 服務器。如果你打算在下一個神奇的 Swift 服務器應用里發送電子郵件,Hedwig 可能是一個不錯的選擇。
特性
-
支持通過普通、SSL 或 TLS(STARTTLS)端口連接到所有的 SMTP 服務器。
-
支持使用 PLAIN、CRAM-MD5、LOGIN 或 XOAUTH2 進行認證。
-
支持使用 HTML 正文和附件發送電子郵件。
-
支持自定義驗證方法和郵件標題,以跟蹤你的郵件活動。
-
支持郵件按序發送,甚至可以同時發送郵件。
-
支持 Swift Package Manager。
-
完善的測試和 文檔 。
16. DeviceKit
DeviceKit 是 UIDevice 的值類型替換。可輕松獲取設備的信息和電池電量。
特性
-
設備識別
-
設備系列檢測
-
設備組檢測
-
模擬器檢測
-
電池狀態
-
電池電量
-
Equatable
17. Charts
漂亮的曲線圖, 餅狀圖, 柱狀圖, 散點圖, 氣泡圖, 雷達圖,更多的圖形都在 charts 庫里。
18. MGSwipeTableCell
一個易于使用的 UITableViewCell 子類,可展示多種過渡方式的可滑動按鈕。
來自:https://www.oschina.net/translate/33-ios-open-source-libraries-that-will-dominate-2017