您的位置:首页 > 移动开发 > IOS开发

IOS Top100的第三方库整理

2016-07-07 11:45 447 查看
## GitHub Top 100 简介

主要对当前 GitHub 排名前 100
的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C
在 GitHub 的情况.

> Android 版本的在此: https://github.com/Freelander/Android_Data/blob/master/Android-Librarys-Top-100.md
**若有任何疑问可通过微博[@李锦发](http://weibo.com/jinfali)联系我**

项目名称 | 项目信息
------- | -------
1. [AFNetworking](https://github.com/AFNetworking/AFNetworking) |
作者是 NSHipster 的博主, iOS
开发界的大神级人物, 毕业于卡内基·梅隆大学,
开源了许多牛逼的项目, 这个便是其中之一, AFNetworking
采用 NSURLConnection + NSOperation,
主要方便与服务端 API 进行数据交换,
操作简单, 功能强大,
现在许多人都用它取代 ASIHTTPRequest
2. [GPUImage](https://github.com/BradLarson/GPUImage) |
一款强大的图片滤镜工具, 支持自定义滤镜,
可用来实时处理图片和视频流, 作者是 SonoPlot
公司的 CTO, 在很小的时候便开始接触编程,
他在 [SO](http://stackoverflow.com/users/19679/brad-larson)
上面的回答也有很多值得阅读, GPUImage 这个项目从 2012
年开始, 使用 OpenGL
图形程序接口编写, 性能非常好,
现在很多 iOS 程序员都用它来实现 iOS
的模糊效果
3. [SDWebImage](https://github.com/rs/SDWebImage) |
作者 Olivier Poitrey 是 Dailymotion
的 CTO, 拥有多个不错的开源项目,
此项目常用于对从 Web 端接受到的图片进行缓存,
是 UIImageView 的扩展,
应用起来比较简单
4. [RestKit](https://github.com/RestKit/RestKit) |
主要用于 iOS 上网络通信,
允许与 RESTful Web 服务交互,
常用于处理 API, 解析 JSON,
映射响应对象等操作, 简单易用,
方便你把所有精力都放在对数据的操作上
5. [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) |
由 GitHub 工程师们开发的一个应用于 iOS
和 OS X 开发的函数响应式编程新框架, Matt
称其为 "An open source project that exemplifies this brave new era for Objective-C",
也有人说它是 Cocoa 的未来,
具体可看唐巧写的这篇[文章](http://www.devtang.com/blog/2014/02/11/reactivecocoa-introduction)
6. [three20](https://github.com/facebookarchive/three20) |
由 Facebook iOS 客户端衍生出的一款 iPhone
框架, 内置许多丰富的功能,
有丰富的界面, 对底层的操作便捷,
为开发者省下了很多时间, 但现在已经停止了更新,
一个 [PR](https://github.com/facebookarchive/three20/pull/832?utm_source=iOS+Dev+Weekly&utm_campaign=46a7deb647-iOS_Dev_Weekly_Issue_100&utm_medium=email&utm_term=0_7bda94b7ca-46a7deb647-299428269)
把代码删得干干净净, 不要好奇去点开 Files changed,
我点开后该页面直接卡死, three20 当中的一位作者创建了
[Nimbus](https://github.com/jverkoey/nimbus),
算是 three20 的一个替代品
7. [MBProgressHUD](https://github.com/jdg/MBProgressHUD) |
作者 Matej Bukovinski 是一位全栈工程师, UI/UX
设计师,  此项目是一款提示框第三方库,
帮助开发者快速应用到项目中)
8. [MagicalRecord](https://github.com/magicalpanda/MagicalRecord) |
作者是 Coursera 的 iOS
工程师, 该项目创作灵感来自于 Ruby on Rails
的 Active Record, 主要为方便操作 CoreData
而生, 帮助清除 CoreData
引用的代码, 协助方便 CoreData
的工作
9. [FMDB](https://github.com/ccgus/fmdb) |
一个对 SQLite 进行封装的库,
使用起来方便, 简单
10. [Mantle](https://github.com/Mantle/Mantle) |
作者是 GitHub 的员工,
文档写的很清楚: Mantle makes it easy to write a simple model layer for your Cocoa or Cocoa Touch application,
主要用来将 JSON 数据模型化为 Model
对象, 唱吧在前段时间也改用 Mantle
了.
11. [FlatUIKit](https://github.com/Grouper/FlatUIKit) |
收集了很多扁平化 UI 的 iOS
组件, 方便使用
12. [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) |
一个轻量级的 iOS 网络通信类库,
基于 CFNetwork 框架开发,
但现在已经停止更新, 多数开发者改用 AFNetworking
替代)
13. [FastImageCache](https://github.com/path/FastImageCache) | Path
公司出品的 iOS 库,
作者 Mallory Paine 是苹果前员工,
此类库适用于在滚动时快速显示图像, 高速持久是其最大的特点
14. [Masonry](https://github.com/Masonry/Masonry) |
一个轻量级的布局框架, 同时支持 iOS
和 Mac OS X, 语法优雅,
帮助开发者快速适配不同分辨率的 iOS 设备
15. [Shimmer](https://github.com/facebook/Shimmer) | Facebook
推出的一款具有闪烁效果的第三方控件, 供它旗下一款名为 Paper
的应用使用, 安装使用整个过程都十分简单
16. [SVProgressHUD](https://github.com/TransitApp/SVProgressHUD) |
又一款轻量级的 iOS 第三方控件,
用于显示任务加载时的动画, 非常轻便,
容易使用
17. [Slate](https://github.com/jigish/slate) |
一款窗口管理应用程序, 但在两年前就已经停止更新了
18. [JSONKit](https://github.com/johnezang/JSONKit) |
主要用于解析 JSON, 适用于 iOS6
以下环境, 自从 iOS5
开始 Apple 官方给出了 NSJSONSerialization API,
自此大家都用官方的了
19. [Nimbus](https://github.com/jverkoey/nimbus) |
作者 Jeff 曾为 Facebook, Google
做过不少好东西, 也是 three20
的成员之一, three20 停更后,
他创造出这个框架来代替 three20, 文档齐全
20. [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack)
| 这是 Mac 和 iOS
的一款强大的日志框架, 配置简单,
多线程, 提供更高级的 log
功能, 可用于代替默认的 NSLog
语句
21. [Facebook SDK for iOS](https://github.com/facebook/facebook-ios-sdk) | Facebook
官方的 iOS SDK, 方便开发者集成 Facebook
的一些功能到自己的 iOS APP 里面
22. [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit) | Facebook
开源的一款 iOS UI 框架, Paper
用的就是该框架, 另外框架还用到了 Facebook
早期开源 Pop 动画引擎
23. [Alcatraz](https://github.com/supermarin/Alcatraz) | Alcatraz
是一款管理 Xcode 插件、模版以及颜色配置的工具,
可以集成到 Xcode 的图形界面中,
安装删除都是几条命令的事, 很方便,
支持自己开发插件并上传
24. [ViewDeck](https://github.com/Inferis/ViewDeck) |
一款开源的 iOS 活动面板组件,
还原 Path 2.0 的侧滑效果,
作者因为时间关系在两年前停止对其更新
25. [JSQMessagesViewController](https://github.com/jessesquires/JSQMessagesViewController)
| 优雅的 iOS 消息类库,
常用于聊天应用中, 可定制性高
26. [FLEX](https://github.com/Flipboard/FLEX) |
这是 Flipboard 官方发布的一组专门用于 iOS
开发的应用内调试工具, 开发者无需将其连接到 LLDB/Xcode
或其他远程调试服务器,支持直接在 App
中运行
27. [Xctool](https://github.com/facebook/xctool) |
是 Facebook 开源的一个命令行工具,用来替代苹果的 XcodeBuild
工具, 极大的方便了 iOS
的构建和测试, 输出错误信息也比较友好,
受到许多 iOS 开发者的称赞,
经常与其搭配使用的还有 OCUnit, [Travis CI](https://travis-ci.org),
[OCLint](http://oclint.org)
等测试工具
28. [OpenEmu](https://github.com/OpenEmu/OpenEmu) |
超强的游戏模拟器, 做游戏开发必备,
官网做得也很不错
29. [iCarousel](https://github.com/nicklockwood/iCarousel) |
作者是英国 Charcoal Design 公司的创始人,
开源领域的贡献颇为卓著, 这个项目就是其中之一,
这是一款可以在 iOS 上实现旋转木马视图切换效果的第三方控件,
并提供多种切换效果
30. [RESideMenu](https://github.com/romaonthego/RESideMenu) |
作者 Roman Efimov 是雅虎的 iOS
工程师, 这个项目实现了 iOS
上的菜单侧滑效果, 创意来源于 Dribbble,
该项目支持 iOS8
321 [PNChart](https://github.com/kevinzhow/PNChart) |
作者周楷雯是 90 后,
秒视的创始人, 该项目是一个带动画效果的图表控件,
简约易用, 受到不少开发者喜爱
31.2[PonyDebugger](https://github.com/square/PonyDebugger) |
由 Square 公司推出的一款优秀的 iOS
应用网络调试工具, 用户可以实时看到应用程序的网络请求,
也可以对 iOS 应用程序的核心数据栈进行远程调试
33. [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField)
| 作者是 Thumb Labs 的联合创始人, JVFloatLabeledTextField
是 UITextField 的子类,
主要实现输入框标签浮动效果, 创作灵感来自 Dribbble,
已出现多个移植版本
34. [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) | UITableViewCell
的子类, 实现了左右滑动显示信息视图并调出按钮
35. [AwesomeMenu](https://github.com/levey/AwesomeMenu) |
作者是一位中国人, 该项目主要是使用 CoreAnimation
还原了 Path menu 的动画效果
36. [Reachability](https://github.com/tonymillion/Reachability) | Reachablity
是用于检测 iOS 设备网络环境的库
37. [VVDocumenter-Xcode](https://github.com/onevcat/VVDocumenter-Xcode) |
作者是王巍国内著名的 iOS 开发者,
人称喵神, 目前在日本 LINE
公司工作, 该项目帮助开发者轻松的生成注释文档,
节省了不少工作量, 赞
38. [The Physical Web](https://github.com/google/physical-web) |
由 Chrome 团队主导的一个项目,
意在用 URL 连接世界,
方便用户接受数据, 目前尚处在实验阶段
39. [NewsBlur](https://github.com/samuelclay/NewsBlur) |
作者独自一个人 Samuel Clay 做出来的一款名为 NewsBlur
的新闻阅读器, 很多人都称其为 Google Reader
的替代品, 这是它的源码
40. [Cocos2D-SpriteBuilder](https://github.com/cocos2d/cocos2d-spritebuilder)
| 一个可用于在 iOS, Mac 和 Android
上制作 2D 游戏或其它图形/交互应用的框架,
之前的项目名称为 Cocos Swift,  目前该项目在 GitHub
上更新较为频繁
41. [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel)
| UILabel 的替代品, 使 iOS
上的 Label 功能更加丰富,
可支持链接植入等功能
42. [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) |
一个功能强大、简单易用的异步 socket 通讯类库,
支持 TCP 和 UDP
协议, 可用于 Mac
和 iOS 设备上,
作者 Robbie Hanson 是 Deusty
的首席软件工程师
43. [TapkuLibrary](https://github.com/devinross/tapkulibrary) |
作者是 Devin Ross, 这是在 iOS
上一款功能强大的 UI 效果类库,
可以实现多种酷炫的效果, 目前仍在更新中
44. [Canvas](https://github.com/CanvasPod/Canvas) |
无需编码实现牛逼的动画效果的库, 连设计师都可以快速上手
45. [SocketRocket](https://github.com/square/SocketRocket) | Square
公司开源的一个 WebSocket 客户端,
稳定并且易用, 做实时应用常会用到,
受广大开发者喜爱
46. [ECSlidingViewController](https://github.com/ECSlidingViewController/ECSlidingViewController)
| 一个视图控制器容器, 将子视图处理成两层,
通过滑动来处理层的切换, 创作灵感来自 Facebook
和 Path的 App,
作者是 Cleveland 的员工
47. [Json Framework](https://github.com/stig/json-framework) |
用于解析 JSON 数据的一个框架,
但是在 iOS5 以上版本大多数人都选择使用 NSJSONSerialization
来解析 JSON, 该项目现在在 GitHub
上也几乎没怎么更新了
48. [Tweaks](https://github.com/facebook/Tweaks) | Facebook
开源的一款工具, 旨在帮助 iOS
开发者更快的迭代应用, 方便用户动态的调整参数,
是的, Paper 这个项目也用到了
49. [realm-cocoa](https://github.com/realm/realm-cocoa) | Realm-Cocoa
是 Realm 公司推出一款移动端数据库,
可以运行在手机、平板和可穿戴设备之上, 其目标是取代 CoreData
和 SQLite 数据库
50. [BlocksKit](https://github.com/zwaldowski/BlocksKit) |
一个开源的与 Cocoa 紧密集合的基础性框架
51. [Appirater](https://github.com/arashpayan/appirater) |
一款用于提醒用户给你的 App 打分的工具
52. [KIF](https://github.com/kif-framework/KIF) | Square
出品的一个开源的用户界面测试框架, 极大的简化了 iOS
开发者的 UI 测试流程
53. [SlackTextViewController](https://github.com/slackhq/SlackTextViewController)
| Slack 推出的一款具有文字输入框高度自适应,
自动输入, 复制单元格内容等功能的解决方案
54. [JazzHands](https://github.com/IFTTT/JazzHands) | IFTTT
开源的一个简单易用的关键帧基础动画框架, 可通过手势、scroll views, KVO, ReactiveCocoa
等方式来控制动画
55. [Bolts-iOS](https://github.com/BoltsFramework/Bolts-iOS) | Bolts
是一个 Parse 和 Facebook
在内部使用的底层库, 方便移动开发
56. [Spectacle](https://github.com/eczarny/spectacle) |
一款易用的 OS X 窗口分屏操作快捷键工具,
这是其源代码
57. [nui](https://github.com/tombenner/nui) |
方便样式化 iOS 应用中的 UI
元素, 可在短时间内样式化整个应用,
类 CSS 原理
58. [Induction](https://github.com/Induction/Induction) | Induction
是一款用于理解数据关系的管理工具, 这是其程序代码
59. [JSONModel](https://github.com/icanzilb/JSONModel) |
一个能迅速解析服务器返回的 Json 数据的库,
方便数据的类型转换
60. [DTCoreText](https://github.com/Cocoanetics/DTCoreText) |
一个开源的 iOS 富文本组件,
它可以解析 HTML 与 CSS
并最终用 CoreText 绘制出来,
通常用于在一些需要显示富文本的场景下代替低性能的 UIWebView
61. [Popping](https://github.com/schneiderandre/popping) |
基于 Facebook Pop 引擎的 iOS
动画库, 集合了很多动画效果
62. [TSMessages](https://github.com/KrauseFx/TSMessages) |
一个用来弹出显示警告和通知的轻量级库, 样式丰富,
简单易用
63. [KVOController](https://github.com/facebook/KVOController) |
一个简单安全的 KVO(Key-value Observing,
键-值
观察)工具,
提供简单方便、线程安全的API, Facebook
的开源项目之一
64. [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) |
一款简单的 iOS 照片浏览控件
65. [MMDrawerController](https://github.com/mutualmobile/MMDrawerController)
| 一个轻量级, 易于使用的侧边抽屉导航 iOS
控件
66. [QuickDialog](https://github.com/escoz/QuickDialog) |
用于快速创建复杂的 iOS 表单,
自定义了 UITableViewCell, TableView
的样式
67. [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) |
一款只需一行代码便可集成上拉刷新和下拉加载的组件
68. [cheddar-ios](https://github.com/nothingmagical/cheddar-ios) | Cheddar
是一款简单易用的日程管理软件, 这是其早期版本的开源代码,
该项目已停止维护
69. [XVim](https://github.com/XVimProject/XVim) |
一款在 Xcode 上实现了 Vim
功能的插件
70. [EGOTableViewPullRefresh](https://github.com/enormego/EGOTableViewPullRefresh)
| 一款提供下拉刷新的控件, 最后更新时间是一年前
71. [iOS-boilerplate](https://github.com/gimenete/iOS-boilerplate) | iOS
应用程序的基础模板, 使用该模板可以省掉许多项目初始编码的工作,
内置非常多丰富的功能, 现已经停止维护
72. [JASidePanels](https://github.com/gotosleep/JASidePanels) |
一个 UIViewController 容器,
灵感来自 Facebook 和 Path 2.0
应用的菜单, 实现了左右侧滑的操作
73. [FormatterKit](https://github.com/mattt/FormatterKit) |
收集了很多构思优秀的 NSFormatter 子类
74. [MSDynamicsDrawerViewController](https://github.com/erichoracek/MSDynamicsDrawerViewController)
| 实现了具有动态弹性效果的抽屉式侧边导航栏, 效果丰富,
可定制性强
75. [idev-recipes](https://github.com/boctor/idev-recipes) | iDevRecipes
博客的代码, 演示如何实现一些有趣的控件,
该项目在两年前(2013)停止了更新
76. [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) |
一个基于 RFC-3920 实现,
支持多线程和线程保护, 同时通用于所有的 iOS
和 Mac OS 开发设备的通信框架.
77. [MacGap1](https://github.com/MacGapProject/MacGap1) |
一款可以将 HTML/CSS/JS 网络应用打包成原生 Mac App
的工具
78. [FXBlurView](https://github.com/nicklockwood/FXBlurView) | iOS
模糊背景类库, 可以方便的根据底层显示的状态生成模糊效果
79. [iOS7-Sampler](https://github.com/shu223/iOS7-Sampler) |
整合演示了多个具有 iOS7 新特性的的项目,
提供了非常多的例子参考
80. [PromiseKit](https://github.com/mxcl/PromiseKit) |
提供强大的 iOS 开发异步功能,
是 Promises 的实现,
受到广大开发者的追捧
81. [Origami](https://github.com/facebook/origami) |
此为 Facebook 推出的 Quartz Composer
的一个开源插件, 由其设计团队花费了 9
个月打造而成, 目的是为方便设计师快速构建原型,
以零代码完成复杂动画的合成和测试, 堪称神器
82. [NSLogger](https://github.com/fpillet/NSLogger) |
一款强大的日志分析工具, 具有大窗口查看 Log,
自定义日志等级等功能
83. [KSImageNamed-Xcode](https://github.com/ksuther/KSImageNamed-Xcode) |
一款对 UIImage 的 imageNamed
提供自动补全功能的插件, 非常方便
84. [PureLayout](https://github.com/smileyborg/PureLayout) |
一个简单却强大的 AutoLayout API 库,
兼容了 Objective-C 和 Swift,
扩展了 UIView/NSView, NSArray,
和 NSLayoutConstraint
85. [AppleDoc](https://github.com/tomaz/appledoc) |
一款 Objective-C 文档生成工具,
生成的文档风格保持与 Apple 官方的一致,
极大的方便了 Xcode 识别自己写的 API
文档, 安装也是十分的简单
86. [iTerm2](https://github.com/gnachman/iTerm2) | iTerm2
被不少程序员称赞为 Mac 下最好用的终端,
这是其源代码, 配合 oh-my-zsh
使用效果更佳
87. [Kiwi](https://github.com/kiwi-bdd/Kiwi) |
一个行为驱动开发测试框架, 适用于 iOS
平台, 旨在为开发者提供一个简单配置便可使用的 BDD

88. [terminal-notifier](https://github.com/alloy/terminal-notifier) |
一款命令行工具, 用来给 Mac OS X
用户发送通知
89. [MacDown](https://github.com/uranusjr/macdown) | Mac OS X
下的一款开源的 Markdown 编辑器,
创意来自与 Mou, 使用 brew cask
即可完成安装
90. [TwUI](https://github.com/twitter/twui) | Twitter
开源的一个支持硬件加速的 Mac 的 UI
框架, 最后一次的更新时间是在 3
年前(2012)
91. [PaperFold for iOS](https://github.com/honcheng/PaperFold-for-iOS) |
实现了类似折纸效果的视图切换, 可从不同方向进行切换,
该项目已经许久未更新
92. [Reader](https://github.com/vfr/Reader) |
一款开源的 iOS PDF 阅读器,
附带书签, 列纲要等功能
93. [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge)
| 一个方便使用 Objective-C 与 JavaScript
进行通信的第三方库, 支持消息发送,
接收, 消息处理器的注册与调用以及设置消息处理的回调
94. [iOS8-Sampler](https://github.com/shu223/iOS8-Sampler) | iOSX-Sampler
系列之一, 整合演示了多个具有 iOS8
新特性的的项目, 提供了非常多的例子参考
95. [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) |
一个用于 Mac OS X 或 iOS
应用的轻量级、可嵌入的HTTP 服务器框架,
方便开发者在应用中嵌入一个 HTTP 服务器
96. [Kod](https://github.com/rsms/kod) | Mac OS X
上一款专为程序员打造的编辑器, 这是其开源代码,
可惜的是作者在 2011 年停止了维护
97. [TPKeyboardAvoiding](https://github.com/michaeltyson/TPKeyboardAvoiding)
| 下拉键盘在 iOS 移动文本字段的通用解决方案,
能够自动处理键盘弹出后出现遮挡到文本输入框的问题
98. [MKNetworkKit](https://github.com/MugunthKumar/MKNetworkKit) |
一个轻量级网络请求框架, 完全基于 ARC,
仅有两个类, 具有自主操作多个网络请求,
更加准确的显示网络活动指标等优点
99. [PKRevealController](https://github.com/pkluz/PKRevealController) |
一个 iOS 平台上的视图控制器集合,
通过展现多个视图控制器来进行控制器之间的切换. 设置简单,
高度灵活
00. [AQGridView](https://github.com/AlanQuatermain/AQGridView) |
一个命令行工具, 通过项目里的
`.xcdatamodel` 文件,
可以为每个 entity 生成两个类,
方便 CoreData 的使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: