分享近期 GitHub 上比較流行的 22 個和 iOS 開發相關的開源項目。 包括開發輔助工具,非同步編程庫,JSON 解析,移動端資料庫,圖像視頻處理,網路請求,UI 框架、組件,演算法、數據結構等內容。 Accio 使用 Swift 編寫的 iOS/tvOS/watchOS/macOS 依賴管理工 ...
分享近期 GitHub 上比較流行的 22 個和 iOS 開發相關的開源項目。
包括開發輔助工具,非同步編程庫,JSON 解析,移動端資料庫,圖像視頻處理,網路請求,UI 框架、組件,演算法、數據結構等內容。
- Accio 使用 Swift 編寫的 iOS/tvOS/watchOS/macOS 依賴管理工具。
在當前 iOS 生態環境中,CocoaPods 和 Carthage 是最成熟的依賴管理器。
如果你不喜歡使用 Ruby 編寫的 CocoaPods,或者更偏愛 Carthage 的非侵入方式,可以嘗試下 Accio. Accio 改進了 Carthage 的一些問題,同時它的核心儘可能使用 SwiftPM,這樣未來 Xcode 對 SwiftPM 支持更成熟時,可以很方便地遷移到 SwiftPM。順便提一下,Accio 讀作 AH-kee-oh.
-
SwiftLint 檢查 Swift 代碼風格、慣例。基於 Clang 和 SourceKit 提供的 AST 表示,因此可以提供更精準的分析結果。
-
idb 顧名思義,iOS 版本的
adb
。這款 Facebook 開發的命令行工具可助你自動化在模擬器和真機上的調試流程。 -
InAppViewDebugger 供內嵌於應用的視圖調試器。類似 Xcode 視圖調試器,但可以在 iPad 和 iPhone 上調試視圖。
-
MTHawkeye 美圖秀秀開源的 iOS 調試優化輔助工具集。內置插件有 LivingObjectSniffer (跟蹤對象)、Allocations(跟蹤實時分配記憶體)、UITimeProfiler(主線程耗時任務調優)、ANRTrace(捕獲卡頓事件)、FPSTrace(跟蹤界面 FPS 及 OpenGL 刷新繪製 FPS)、CPUTrace(跟蹤 CPU 持續高使用率)、NetworkMonitor(監聽記錄應用內 HTTP(S) 網路請求各階段耗時)、NetworkInspect(基於 Network Monitor 推薦可優化項,支持自定義規則)、OpengGLTrace(跟蹤 OpenGL 資源記憶體占用)、DirectoryWatcher(跟蹤沙盒文件夾大小)、FLEX(沙盒文件 AirDrop)。開發者可基於基礎框架 API 開發自己的調試輔助插件。
-
RxSwift 在 Swift 中使用 Reactive 編程範式。
-
PromiseKit 給 Swift 和 Objective-C 帶來了 Promise 非同步編程模式。
-
IkigaJSON 用 Swift 編寫的高性能 JSON 解析庫。
-
Realm 移動端資料庫,Core Data & SQLite 替代品。提供直觀的對象介面,無需 ORM。在提供眾多豐富特性的情況下,常用操作仍有超越原生 SQLite 的性能。支持 iOS、macOS、tvOS、watchOS。同時提供 Objective-C 和 Swift 版本。
作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個我的iOS交
流群:519832104 不管你是小白還
是大牛歡迎入駐,分享經驗,討論技術,大家一起交流學習成長!
另附上一份各好友收集的大廠面試題,需要iOS開發學習資料、面試真題,可以添加
iOS開發進階交流群,進群可自行下載!
-
BBMetalImage 使用 Swift 編寫的高性能圖像視頻處理庫,基於 GPU 加速。內置超過 60 種過濾器,支持鏈式調用,支持自定義過濾器。
-
Alamofire 使用 Swift 編寫的 HTTP 網路庫,支持 iOS、macOS、tvOS、watchOS。特性包括鏈式調用,URL、JSON、plist 參數編碼,上傳文件、數據,下載文件(支持續傳),URLCredential 認證,HTTP 響應校驗,上傳、下載進度,curl 命令輸出,動態適配、重試請求等。
-
SDWebImage 高性能非同步圖像下載,特性包括緩存(自動處理緩存過期)、後臺圖像解壓縮、定製圖像轉換、定製圖像載入器等。在 UIImage 支持的格式(JPEG、PNG、GIF 等)之外,還支持 WebP 格式(包括 WebP 動畫)。並可通過插件支持更多圖像格式,例如 APNG、BPG、HFIF、SVG。
-
IGListKit UICollectionView 框架,創建高速、靈活的列表。提供可復用的單元格、組件和易於擴展的 API,支持多種數據類型。diff 演算法解耦,可定製 diff 行為。使用 Objective-C 編寫,同時提供完整的 Swift 互操作支持。
-
Charts iOS/tvOS/macOS 圖表繪製庫。在 Android 開發者間很流行的圖表繪製庫 MPAndroidChart 的 Swift 移植版。
-
SnapKit iOS 和 macOS 自動佈局 DSL。
-
Blueprint Square 最近開源的聲明式 iOS UI 框架。使用 Swift 編寫。該框架尚處於試驗階段,但已應用於 Square 生產環境應用。
-
QMUI 騰訊開源的 iOS UI 解決方案。
-
IQKeyboardManager 自動防止彈出鍵盤遮蓋
UITextField/UITextView
。 -
TORoundedButton 基於
UIControl
類實現的圓角矩形按鈕控制項。在提供眾多定製樣式的選項的同時仍保持儘可能高的圖形性能。使用 Objective-C 編寫,不過完全相容 Swift(Swift 下的類名為RoundedButton
)。 -
Swift Algorithm Club 演算法和數據結構,除了 Swift 代碼,還配有詳盡的解釋!
-
LeetCode by Swift LeetCode 問題的 Swift 解答。
-
Open-Source iOS Apps 開源 iOS 應用列表,可供觀摩借鑒。
你有什麼可以補充進上面這個列表的項目嗎?歡迎留言分享你的發現和創造!