主要對當前 GitHub 排名前 100 的項目作一個簡單的簡介, 方便初學者快速瞭解到當前 Objective-C 在 GitHub 的狀況.react
Android 版本的在此: https://github.com/Freelander/Android_Data/blob/master/Android-Librarys-Top-100.mdios
本文章由 The EST Group 成員 @Aufree 整理而成, 轉載請註明出處.git
項目名稱 | 項目信息 |
---|---|
1. AFNetworking | 做者是 NSHipster 的博主, iOS 開發界的大神級人物, 畢業於卡內基·梅隆大學, 開源了許多牛逼的項目, 這個即是其中之一, AFNetworking 採用 NSURLConnection + NSOperation, 主要方便與服務端 API 進行數據交換, 操做簡單, 功能強大, 如今許多人都用它取代 ASIHTTPRequest |
2. GPUImage | 一款強大的圖片濾鏡工具, 支持自定義濾鏡, 可用來實時處理圖片和視頻流, 做者是 SonoPlot 公司的 CTO, 在很小的時候便開始接觸編程, 他在 SO 上面的回答也有不少值得閱讀, GPUImage 這個項目從 2012 年開始, 使用 OpenGL 圖形程序接口編寫, 性能很是好, 如今不少 iOS 程序員都用它來實現 iOS 的模糊效果 |
3. SDWebImage | 做者 Olivier Poitrey 是 Dailymotion 的 CTO, 擁有多個不錯的開源項目, 此項目經常使用於對從 Web 端接受到的圖片進行緩存, 是 UIImageView 的擴展, 應用起來比較簡單 |
4. RestKit | 主要用於 iOS 上網絡通訊, 容許與 RESTful Web 服務交互, 經常使用於處理 API, 解析 JSON, 映射響應對象等操做, 簡單易用, 方便你把全部精力都放在對數據的操做上 |
5. ReactiveCocoa | 由 GitHub 工程師們開發的一個應用於 iOS 和 OS X 開發的函數響應式編程新框架, Matt 稱其爲 "An open source project that exemplifies this brave new era for Objective-C", 也有人說它是 Cocoa 的將來, 具體可看唐巧寫的這篇文章 |
6. three20 | 由 Facebook iOS 客戶端衍生出的一款 iPhone 框架, 內置許多豐富的功能, 有豐富的界面, 對底層的操做便捷, 爲開發者省下了不少時間, 但如今已經中止了更新, 一個 PR 把代碼刪得乾乾淨淨, 不要好奇去點開 Files changed, 我點開後該頁面直接卡死, three20 當中的一位做者建立了 Nimbus, 算是 three20 的一個替代品 |
7. MBProgressHUD | 做者 Matej Bukovinski 是一位全棧工程師, UI/UX 設計師, 此項目是一款提示框第三方庫, 幫助開發者快速應用到項目中) |
8. MagicalRecord | 做者是 Coursera 的 iOS 工程師, 該項目創做靈感來自於 Ruby on Rails 的 Active Record, 主要爲方便操做 CoreData 而生, 幫助清除 CoreData 引用的代碼, 協助方便 CoreData 的工做 |
9. FMDB | 一個對 SQLite 進行封裝的庫, 使用起來方便, 簡單 |
10. Mantle | 做者是 GitHub 的員工, 文檔寫的很清楚: Mantle makes it easy to write a simple model layer for your Cocoa or Cocoa Touch application, 主要用來將 JSON 數據模型化爲 Model 對象, 唱吧在前段時間也改用 Mantle 了. |
11. FlatUIKit | 收集了不少扁平化 UI 的 iOS 組件, 方便使用 |
12. ASIHTTPRequest | 一個輕量級的 iOS 網絡通訊類庫, 基於 CFNetwork 框架開發, 但如今已經中止更新, 多數開發者改用 AFNetworking 替代) |
13. FastImageCache | Path 公司出品的 iOS 庫, 做者 Mallory Paine 是蘋果前員工, 此類庫適用於在滾動時快速顯示圖像, 高速持久是其最大的特色 |
14. Masonry | 一個輕量級的佈局框架, 同時支持 iOS 和 Mac OS X, 語法優雅, 幫助開發者快速適配不一樣分辨率的 iOS 設備 |
15. Shimmer | Facebook 推出的一款具備閃爍效果的第三方控件, 供它旗下一款名爲 Paper 的應用使用, 安裝使用整個過程都十分簡單 |
16. SVProgressHUD | 又一款輕量級的 iOS 第三方控件, 用於顯示任務加載時的動畫, 很是輕便, 容易使用 |
17. Slate | 一款窗口管理應用程序, 但在兩年前就已經中止更新了 |
18. JSONKit | 主要用於解析 JSON, 適用於 iOS6 如下環境, 自從 iOS5 開始 Apple 官方給出了 NSJSONSerialization API, 自此你們都用官方的了 |
19. Nimbus | 做者 Jeff 曾爲 Facebook, Google 作過很多好東西, 也是 three20 的成員之一, three20 停更後, 他創造出這個框架來代替 three20, 文檔齊全 |
20. CocoaLumberjack | 這是 Mac 和 iOS 的一款強大的日誌框架, 配置簡單, 多線程, 提供更高級的 log 功能, 可用於代替默認的 NSLog 語句 |
21. Facebook SDK for iOS | Facebook 官方的 iOS SDK, 方便開發者集成 Facebook 的一些功能到本身的 iOS APP 裏面 |
22. AsyncDisplayKit | Facebook 開源的一款 iOS UI 框架, Paper 用的就是該框架, 另外框架還用到了 Facebook 早期開源 Pop 動畫引擎 |
23. Alcatraz | Alcatraz 是一款管理 Xcode 插件、模版以及顏色配置的工具, 能夠集成到 Xcode 的圖形界面中, 安裝刪除都是幾條命令的事, 很方便, 支持本身開發插件並上傳 |
24. ViewDeck | 一款開源的 iOS 活動面板組件, 還原 Path 2.0 的側滑效果, 做者由於時間關係在兩年前中止對其更新 |
25. JSQMessagesViewController | 優雅的 iOS 消息類庫, 經常使用於聊天應用中, 可定製性高 |
26. FLEX | 這是 Flipboard 官方發佈的一組專門用於 iOS 開發的應用內調試工具, 開發者無需將其鏈接到 LLDB/Xcode 或其餘遠程調試服務器,支持直接在 App 中運行 |
27. Xctool | 是 Facebook 開源的一個命令行工具,用來替代蘋果的 XcodeBuild 工具, 極大的方便了 iOS 的構建和測試, 輸出錯誤信息也比較友好, 受到許多 iOS 開發者的稱讚, 常常與其搭配使用的還有 OCUnit, Travis CI, OCLint 等測試工具 |
28. OpenEmu | 超強的遊戲模擬器, 作遊戲開發必備, 官網作得也很不錯 |
29. iCarousel | 做者是英國 Charcoal Design 公司的創始人, 開源領域的貢獻頗爲卓著, 這個項目就是其中之一, 這是一款能夠在 iOS 上實現旋轉木馬視圖切換效果的第三方控件, 並提供多種切換效果 |
30. RESideMenu | 做者 Roman Efimov 是雅虎的 iOS 工程師, 這個項目實現了 iOS 上的菜單側滑效果, 創意來源於 Dribbble, 該項目支持 iOS8 |
321 PNChart | 做者周楷雯是 90 後, 秒視的創始人, 該項目是一個帶動畫效果的圖表控件, 簡約易用, 受到很多開發者喜好 |
31.2PonyDebugger | 由 Square 公司推出的一款優秀的 iOS 應用網絡調試工具, 用戶能夠實時看到應用程序的網絡請求, 也能夠對 iOS 應用程序的核心數據棧進行遠程調試 |
33. JVFloatLabeledTextField | 做者是 Thumb Labs 的聯合創始人, JVFloatLabeledTextField 是 UITextField 的子類, 主要實現輸入框標籤浮動效果, 創做靈感來自 Dribbble, 已出現多個移植版本 |
34. SWTableViewCell | UITableViewCell 的子類, 實現了左右滑動顯示信息視圖並調出按鈕 |
35. AwesomeMenu | 做者是一位中國人, 該項目主要是使用 CoreAnimation 還原了 Path menu 的動畫效果 |
36. Reachability | Reachablity 是用於檢測 iOS 設備網絡環境的庫 |
37. VVDocumenter-Xcode | 做者是王巍國內著名的 iOS 開發者, 人稱喵神, 目前在日本 LINE 公司工做, 該項目幫助開發者輕鬆的生成註釋文檔, 節省了很多工做量, 贊 |
38. The Physical Web | 由 Chrome 團隊主導的一個項目, 意在用 URL 鏈接世界, 方便用戶接受數據, 目前尚處在實驗階段 |
39. NewsBlur | 做者獨自一我的 Samuel Clay 作出來的一款名爲 NewsBlur 的新聞閱讀器, 不少人都稱其爲 Google Reader 的替代品, 這是它的源碼 |
40. Cocos2D-SpriteBuilder | 一個可用於在 iOS, Mac 和 Android 上製做 2D 遊戲或其它圖形/交互應用的框架, 以前的項目名稱爲 Cocos Swift, 目前該項目在 GitHub 上更新較爲頻繁 |
41. TTTAttributedLabel | UILabel 的替代品, 使 iOS 上的 Label 功能更加豐富, 可支持連接植入等功能 |
42. CocoaAsyncSocket | 一個功能強大、簡單易用的異步 socket 通信類庫, 支持 TCP 和 UDP 協議, 可用於 Mac 和 iOS 設備上, 做者 Robbie Hanson 是 Deusty 的首席軟件工程師 |
43. TapkuLibrary | 做者是 Devin Ross, 這是在 iOS 上一款功能強大的 UI 效果類庫, 能夠實現多種酷炫的效果, 目前仍在更新中 |
44. Canvas | 無需編碼實現牛逼的動畫效果的庫, 連設計師均可以快速上手 |
45. SocketRocket | Square 公司開源的一個 WebSocket 客戶端, 穩定而且易用, 作實時應用常會用到, 受廣大開發者喜好 |
46. ECSlidingViewController | 一個視圖控制器容器, 將子視圖處理成兩層, 經過滑動來處理層的切換, 創做靈感來自 Facebook 和 Path的 App, 做者是 Cleveland 的員工 |
47. Json Framework | 用於解析 JSON 數據的一個框架, 可是在 iOS5 以上版本大多數人都選擇使用 NSJSONSerialization 來解析 JSON, 該項目如今在 GitHub 上也幾乎沒怎麼更新了 |
48. Tweaks | Facebook 開源的一款工具, 旨在幫助 iOS 開發者更快的迭代應用, 方便用戶動態的調整參數, 是的, Paper 這個項目也用到了 |
49. realm-cocoa | Realm-Cocoa 是 Realm 公司推出一款移動端數據庫, 能夠運行在手機、平板和可穿戴設備之上, 其目標是取代 CoreData 和 SQLite 數據庫 |
50. BlocksKit | 一個開源的與 Cocoa 緊密集合的基礎性框架 |
51. Appirater | 一款用於提醒用戶給你的 App 打分的工具 |
52. KIF | Square 出品的一個開源的用戶界面測試框架, 極大的簡化了 iOS 開發者的 UI 測試流程 |
53. SlackTextViewController | Slack 推出的一款具備文字輸入框高度自適應, 自動輸入, 複製單元格內容等功能的解決方案 |
54. JazzHands | IFTTT 開源的一個簡單易用的關鍵幀基礎動畫框架, 可經過手勢、scroll views, KVO, ReactiveCocoa 等方式來控制動畫 |
55. Bolts-iOS | Bolts 是一個 Parse 和 Facebook 在內部使用的底層庫, 方便移動開發 |
56. Spectacle | 一款易用的 OS X 窗口分屏操做快捷鍵工具, 這是其源代碼 |
57. nui | 方便樣式化 iOS 應用中的 UI 元素, 可在短期內樣式化整個應用, 類 CSS 原理 |
58. Induction | Induction 是一款用於理解數據關係的管理工具, 這是其程序代碼 |
59. JSONModel | 一個能迅速解析服務器返回的 Json 數據的庫, 方便數據的類型轉換 |
60. DTCoreText | 一個開源的 iOS 富文本組件, 它能夠解析 HTML 與 CSS 並最終用 CoreText 繪製出來, 一般用於在一些須要顯示富文本的場景下代替低性能的 UIWebView |
61. Popping | 基於 Facebook Pop 引擎的 iOS 動畫庫, 集合了不少動畫效果 |
62. TSMessages | 一個用來彈出顯示警告和通知的輕量級庫, 樣式豐富, 簡單易用 |
63. KVOController | 一個簡單安全的 KVO(Key-value Observing, 鍵-值 觀察)工具, 提供簡單方便、線程安全的API, Facebook 的開源項目之一 |
64. MWPhotoBrowser | 一款簡單的 iOS 照片瀏覽控件 |
65. MMDrawerController | 一個輕量級, 易於使用的側邊抽屜導航 iOS 控件 |
66. QuickDialog | 用於快速建立複雜的 iOS 表單, 自定義了 UITableViewCell, TableView 的樣式 |
67. SVPullToRefresh | 一款只需一行代碼即可集成上拉刷新和下拉加載的組件 |
68. cheddar-ios | Cheddar 是一款簡單易用的日程管理軟件, 這是其早期版本的開源代碼, 該項目已中止維護 |
69. XVim | 一款在 Xcode 上實現了 Vim 功能的插件 |
70. EGOTableViewPullRefresh | 一款提供下拉刷新的控件, 最後更新時間是一年前 |
71. iOS-boilerplate | iOS 應用程序的基礎模板, 使用該模板能夠省掉許多項目初始編碼的工做, 內置很是多豐富的功能, 現已經中止維護 |
72. JASidePanels | 一個 UIViewController 容器, 靈感來自 Facebook 和 Path 2.0 應用的菜單, 實現了左右側滑的操做 |
73. FormatterKit | 收集了不少構思優秀的 NSFormatter 子類 |
74. MSDynamicsDrawerViewController | 實現了具備動態彈性效果的抽屜式側邊導航欄, 效果豐富, 可定製性強 |
75. idev-recipes | iDevRecipes 博客的代碼, 演示如何實現一些有趣的控件, 該項目在兩年前(2013)中止了更新 |
76. XMPPFramework | 一個基於 RFC-3920 實現, 支持多線程和線程保護, 同時通用於全部的 iOS 和 Mac OS 開發設備的通訊框架. |
77. MacGap1 | 一款能夠將 HTML/CSS/JS 網絡應用打包成原生 Mac App 的工具 |
78. FXBlurView | iOS 模糊背景類庫, 能夠方便的根據底層顯示的狀態生成模糊效果 |
79. iOS7-Sampler | 整合演示了多個具備 iOS7 新特性的的項目, 提供了很是多的例子參考 |
80. PromiseKit | 提供強大的 iOS 開發異步功能, 是 Promises 的實現, 受到廣大開發者的追捧 |
81. Origami | 此爲 Facebook 推出的 Quartz Composer 的一個開源插件, 由其設計團隊花費了 9 個月打造而成, 目的是爲方便設計師快速構建原型, 以零代碼完成複雜動畫的合成和測試, 堪稱神器 |
82. NSLogger | 一款強大的日誌分析工具, 具備大窗口查看 Log, 自定義日誌等級等功能 |
83. KSImageNamed-Xcode | 一款對 UIImage 的 imageNamed 提供自動補全功能的插件, 很是方便 |
84. PureLayout | 一個簡單卻強大的 AutoLayout API 庫, 兼容了 Objective-C 和 Swift, 擴展了 UIView/NSView, NSArray, 和 NSLayoutConstraint |
85. AppleDoc | 一款 Objective-C 文檔生成工具, 生成的文檔風格保持與 Apple 官方的一致, 極大的方便了 Xcode 識別本身寫的 API 文檔, 安裝也是十分的簡單 |
86. iTerm2 | iTerm2 被很多程序員稱讚爲 Mac 下最好用的終端, 這是其源代碼, 配合 oh-my-zsh 使用效果更佳 |
87. Kiwi | 一個行爲驅動開發測試框架, 適用於 iOS 平臺, 旨在爲開發者提供一個簡單配置即可使用的 BDD 庫 |
88. terminal-notifier | 一款命令行工具, 用來給 Mac OS X 用戶發送通知 |
89. MacDown | Mac OS X 下的一款開源的 Markdown 編輯器, 創意來自與 Mou, 使用 brew cask 便可完成安裝 |
90. TwUI | Twitter 開源的一個支持硬件加速的 Mac 的 UI 框架, 最後一次的更新時間是在 3 年前(2012) |
91. PaperFold for iOS | 實現了相似摺紙效果的視圖切換, 可從不一樣方向進行切換, 該項目已經許久未更新 |
92. Reader | 一款開源的 iOS PDF 閱讀器, 附帶書籤, 列綱要等功能 |
93. WebViewJavascriptBridge | 一個方便使用 Objective-C 與 JavaScript 進行通訊的第三方庫, 支持消息發送, 接收, 消息處理器的註冊與調用以及設置消息處理的回調 |
94. iOS8-Sampler | iOSX-Sampler 系列之一, 整合演示了多個具備 iOS8 新特性的的項目, 提供了很是多的例子參考 |
95. CocoaHTTPServer | 一個用於 Mac OS X 或 iOS 應用的輕量級、可嵌入的HTTP 服務器框架, 方便開發者在應用中嵌入一個 HTTP 服務器 |
96. Kod | Mac OS X 上一款專爲程序員打造的編輯器, 這是其開源代碼, 惋惜的是做者在 2011 年中止了維護 |
97. TPKeyboardAvoiding | 下拉鍵盤在 iOS 移動文本字段的通用解決方案, 可以自動處理鍵盤彈出後出現遮擋到文本輸入框的問題 |
98. MKNetworkKit | 一個輕量級網絡請求框架, 徹底基於 ARC, 僅有兩個類, 具備自主操做多個網絡請求, 更加準確的顯示網絡活動指標等優勢 |
99. PKRevealController | 一個 iOS 平臺上的視圖控制器集合, 經過展示多個視圖控制器來進行控制器之間的切換. 設置簡單, 高度靈活 |
00. AQGridView | 一個命令行工具, 經過項目裏的 .xcdatamodel 文件, 能夠爲每一個 entity 生成兩個類, 方便 CoreData 的使用 |