22個iOS開發常用開源項目

来源:https://www.cnblogs.com/chengxyyh/archive/2020/06/13/13114266.html
-Advertisement-
Play Games

分享近期 GitHub 上比較流行的 22 個和 iOS 開發相關的開源項目。 包括開發輔助工具,非同步編程庫,JSON 解析,移動端資料庫,圖像視頻處理,網路請求,UI 框架、組件,演算法、數據結構等內容。 Accio 使用 Swift 編寫的 iOS/tvOS/watchOS/macOS 依賴管理工 ...


分享近期 GitHub 上比較流行的 22 個和 iOS 開發相關的開源項目。

包括開發輔助工具,非同步編程庫,JSON 解析,移動端資料庫,圖像視頻處理,網路請求,UI 框架、組件,演算法、數據結構等內容。

  1. Accio 使用 Swift 編寫的 iOS/tvOS/watchOS/macOS 依賴管理工具。

在當前 iOS 生態環境中,CocoaPods 和 Carthage 是最成熟的依賴管理器。

如果你不喜歡使用 Ruby 編寫的 CocoaPods,或者更偏愛 Carthage 的非侵入方式,可以嘗試下 Accio. Accio 改進了 Carthage 的一些問題,同時它的核心儘可能使用 SwiftPM,這樣未來 Xcode 對 SwiftPM 支持更成熟時,可以很方便地遷移到 SwiftPM。順便提一下,Accio 讀作 AH-kee-oh.

  1. SwiftLint 檢查 Swift 代碼風格、慣例。基於 Clang 和 SourceKit 提供的 AST 表示,因此可以提供更精準的分析結果。

  2. idb 顧名思義,iOS 版本的 adb。這款 Facebook 開發的命令行工具可助你自動化在模擬器和真機上的調試流程。

  3. InAppViewDebugger 供內嵌於應用的視圖調試器。類似 Xcode 視圖調試器,但可以在 iPad 和 iPhone 上調試視圖。

  4. MTHawkeye 美圖秀秀開源的 iOS 調試優化輔助工具集。內置插件有 LivingObjectSniffer (跟蹤對象)、Allocations(跟蹤實時分配記憶體)、UITimeProfiler(主線程耗時任務調優)、ANRTrace(捕獲卡頓事件)、FPSTrace(跟蹤界面 FPS 及 OpenGL 刷新繪製 FPS)、CPUTrace(跟蹤 CPU 持續高使用率)、NetworkMonitor(監聽記錄應用內 HTTP(S) 網路請求各階段耗時)、NetworkInspect(基於 Network Monitor 推薦可優化項,支持自定義規則)、OpengGLTrace(跟蹤 OpenGL 資源記憶體占用)、DirectoryWatcher(跟蹤沙盒文件夾大小)、FLEX(沙盒文件 AirDrop)。開發者可基於基礎框架 API 開發自己的調試輔助插件。

  5. RxSwift 在 Swift 中使用 Reactive 編程範式。

  6. PromiseKit 給 Swift 和 Objective-C 帶來了 Promise 非同步編程模式。

  7. IkigaJSON 用 Swift 編寫的高性能 JSON 解析庫。

  8. Realm 移動端資料庫,Core Data & SQLite 替代品。提供直觀的對象介面,無需 ORM。在提供眾多豐富特性的情況下,常用操作仍有超越原生 SQLite 的性能。支持 iOS、macOS、tvOS、watchOS。同時提供 Objective-C 和 Swift 版本。

作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個我的iOS交
流群:519832104 不管你是小白還
是大牛歡迎入駐,分享經驗,討論技術,大家一起交流學習成長!
另附上一份各好友收集的大廠面試題,需要iOS開發學習資料、面試真題,可以添加
iOS開發進階交流群,進群可自行下載!

  1. BBMetalImage 使用 Swift 編寫的高性能圖像視頻處理庫,基於 GPU 加速。內置超過 60 種過濾器,支持鏈式調用,支持自定義過濾器。

  2. Alamofire 使用 Swift 編寫的 HTTP 網路庫,支持 iOS、macOS、tvOS、watchOS。特性包括鏈式調用,URL、JSON、plist 參數編碼,上傳文件、數據,下載文件(支持續傳),URLCredential 認證,HTTP 響應校驗,上傳、下載進度,curl 命令輸出,動態適配、重試請求等。

  3. SDWebImage 高性能非同步圖像下載,特性包括緩存(自動處理緩存過期)、後臺圖像解壓縮、定製圖像轉換、定製圖像載入器等。在 UIImage 支持的格式(JPEG、PNG、GIF 等)之外,還支持 WebP 格式(包括 WebP 動畫)。並可通過插件支持更多圖像格式,例如 APNG、BPG、HFIF、SVG。

  4. IGListKit UICollectionView 框架,創建高速、靈活的列表。提供可復用的單元格、組件和易於擴展的 API,支持多種數據類型。diff 演算法解耦,可定製 diff 行為。使用 Objective-C 編寫,同時提供完整的 Swift 互操作支持。

  5. Charts iOS/tvOS/macOS 圖表繪製庫。在 Android 開發者間很流行的圖表繪製庫 MPAndroidChart 的 Swift 移植版。

  6. SnapKit iOS 和 macOS 自動佈局 DSL。

  7. Blueprint Square 最近開源的聲明式 iOS UI 框架。使用 Swift 編寫。該框架尚處於試驗階段,但已應用於 Square 生產環境應用。

  8. QMUI 騰訊開源的 iOS UI 解決方案。

  9. IQKeyboardManager 自動防止彈出鍵盤遮蓋 UITextField/UITextView

  10. TORoundedButton 基於 UIControl 類實現的圓角矩形按鈕控制項。在提供眾多定製樣式的選項的同時仍保持儘可能高的圖形性能。使用 Objective-C 編寫,不過完全相容 Swift(Swift 下的類名為 RoundedButton)。

  11. Swift Algorithm Club 演算法和數據結構,除了 Swift 代碼,還配有詳盡的解釋!

  12. LeetCode by Swift LeetCode 問題的 Swift 解答。

  13. Open-Source iOS Apps 開源 iOS 應用列表,可供觀摩借鑒。

你有什麼可以補充進上面這個列表的項目嗎?歡迎留言分享你的發現和創造!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 代碼潔癖狂們!看到一個類中有幾十個if-else是不是很抓狂? 設計模式學了用不上嗎?面試的時候問你,你只能回答最簡單的單例模式,問你有沒有用過反射之類的高級特性,回答也是否嗎? 這次就讓設計模式(模板方法模式+工廠模式)和反射助你消滅if-else! 真的是開發中超超超超超超有用的乾貨啊! 那個坑 ...
  • redis 的集合是無序的,集合成員是唯一的,不能重覆。用戶可以快速地對集合執行添加元素操作、移除元素操作以及檢查一個元素是否存在於集合中。這裡介紹一些常用的集合處理命令,併在 Yii 中的使用。 SADD SADD:SADD key-name item [item …]將一個或多個元素添加到集合里 ...
  • 如何查看SQL執行計劃 使用 PL/SQL 查看,具體使用方法如下: 新建 解釋計劃視窗 ,將 SQL 複製進去執行,即可顯示執行計劃。 選中 SQL 語句,點擊菜單 工具-解釋計劃 或 按快捷鍵 F5 執行計劃結果說明 表掃描 table access by index rowid 通過ROWID ...
  • 現在有如下表 id name age 1 張三 23 2 李四 34 3 張三 23 4 李四 32 需求 : 按照name和age欄位聯合去重 sql如下 select * from user group by name,age 文章轉自:https://blog.csdn.net/qq_2898 ...
  • 1.重置密碼的第一步就是跳過MySQL的密碼認證過程,方法如下: #vim /etc/my.cnf(註:windows下修改的是my.ini) 很多老鐵,在開始時設置了 MySQL 的密碼,後來一段時間沒有用 MySQL之後,密碼忘了~ QAQ,請別急,現在有以下方法解決密碼忘了的情況。 1.首先我 ...
  • 最近一個電子看板小項目上線,由於資料庫非常小,而且數據也不太重要。因此未選擇XtraBackup備份,打算用AutoMySQLBackup來備份,結果部署後測試發現,有一些小問題是之前解決過的。有一些是MySQL 5.7版本才有的。下麵記錄一下解決過程。關於AutoMySQLBackup的基礎知識,... ...
  • 42.統計APP應用的DB連接及IP情況 select b.hostname ,a.client_net_address, b.program_name ,count(1) as Qtyfrom sys.dm_exec_connections a(nolock) inner join sys.sys ...
  • 在開發過程中,埋點可以解決兩大類問題:一是瞭解用戶使用 App 的行為,二是降低分析線上問題的難度。目前,iOS 開發中常見的埋點方式,主要包括: 代碼埋點 可視化埋點 無埋點 代碼埋點 代碼埋點主要就是通過手寫代碼的方式來埋點,能很精確的在需要埋點的代碼處加上埋點的代碼,可以很方便地記錄當前環境的 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...