iOS 第三方库汇总(超全!!!!)

图像:

1.图片浏览控件MWPhotoBrowser 
      实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。
      下载:https://github.com/mwaterfall/MWPhotoBrowser
 
目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。
 
首先整理了一份 Github上排名靠前的iOS库(大概600个repos)
 
除了逛一下每日/每月流行之外,也可以到 这里来看一下整个iOS Repos的排名。
 
下面是一些比较流行的第三方库:
 
HTTP
相比较之下, AFNetworking是目前最优秀的一个了:轻量、易用、使用者多、开发者有在积极维护。在AFN出现之前,这个角色是由ASIHTTPRequest扮演的,只是到现在年久失修了。关于AFN和ASI的对比,这里有一篇不错的文章 http://www.infoq.com/cn/articles/afn_vs_asi。除此之外, MKNetworkKitRestKit也有一定的使用者。
 
Socket
CocoaAsyncSocket无疑是目前封装得最完善的Socket库了:支持异步TCP/UDP,支持GCD,Objective-C接口封装。。目前没有发现可以与之相比的同类产品。。
 
JSON
JSONKit算是第三方中最优秀的一个了:性能很高,文件少。在JSONKit之前,SBJson非常非常流行,但是SBJson性能够差,只是由于历史原因仍然存在在某些工程里面。如果工程只需要支持iOS5以上的系统,那就可以放弃那些第三方Json库了,直接用系统提供的NSJSONSerialization,性能比第三方的好,又是官方API。。
 
XMPP
现在做个实时聊天,XMPP协议算是很成熟的方案了。 XMPPFramework一个很不错的选择,可以直接和OpenFire服务器打交道。项目不大人手不多的话,可以看看这个。
 
基础工具类
SSToolkit算是一个不错的工具包,提供各种比如编码、加密、字符串处理等等东西,还提供了一些不错的自定义控件,并且文档非常齐全。
 
框架
过去有很多人再用 three20,这个东西太大太重,文档又少,到头来连Facebook都停止维护了。作为替代品nimbus现在流行了开来,关键在于它文档齐全。国内有个MVC框架叫 BeeFramework,号称是顶级框架并且功能超过 nimbus,有兴趣的可以看一下。  ReactiveCocoa把响应式编程这种上流的东西带了过来,值得试一试。。
 
数据存储
还是挺多人(比如我)喜欢直接跟SQLite打交道的,这方面 fmdb封装的很不错。如果用CoreData来做存储的,可以用一下 MagicalRecord
 
图像处理
GPUImage无疑是这方面的集大成者了。用OpenGL ES2.0来实时处理图片和视频流,性能和功能都是顶尖的。
 
开发和调试工具
PonyDebugger看上去是一个不错的调试工具,可以在电脑浏览器上远程调试iOS程序、查看试图层次、网络等等。 CocoaLumberjack是个Log工具,号称是可以提供企业级Log,使用者也挺多。
 
为了了解一下目前第三方库的普及程度,下面列举一些知名App对第三方库的依赖。
 
网易新闻
 
Garageband
MurmurHash
libpng
zlib
SBJson (json-framework)
 
iWork三套件
 
Pinterest
 
多看阅读
 
淘宝
 
微信
 
QQ
ASIHTTPRequest
FMDB
CocoaAsyncSocket
JSONKit
MBProgressHUD
OpenUDID
SBJson
SVPullToRefresh
 
百度地图
 
微博
 
人人
可以看到,这些大型的App的依赖都很混乱,所以稍微解释一下。这些大公司都有一个iOS团队来协同开发,团队成员的水平也参差不齐。有时由于历史原因,例如某个App的某个组件依赖了ASIHttpRequest,但之后的新人改用了AFNetworking,就造成上面这种比较混乱的库依赖关系。这就造成难以维护、代码冗余等问题了。所以,引入一个第三方库一定要慎重考虑,如果可能,尽量自己开发和实现相应的功能,第三方库尽量只作为参考。 小团队或者个人开发者可以不必过多考虑,开发速度优先。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2014年8月7号新增
系统基础库
Category/Util
 sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错~    
 BlocksKit 将Block风格带入UIKit和Founcation    
 cocoa-helpers 一些Cocoa的扩展 2年前的工程    
 CoconutKit 一系列扩展和一些自定组件    
 STUtils 一系列扩展包    
 PSFoundation 一系列扩展 和功能增强    
 ConciseKit 一系列宏定义 挺有意思    
 DTFoundation 又一系列扩展。。。    
 BBBootstrap 一些常见功能的扩展库    
 cooliris-toolkit cooliris出品的基础工具库,从GoogleCode clone过来    
 BaseKit 一套基础工具库    
 NSObject-Utility-Categories 如题    
 NSArray-Utilities 如题    
 aqtoolkit 一些常用的东西    
 DLIntrospection 一些NSObject的扩展    
 NSDate-Extensions 如题日期    
 ALActionBlocks 在UIControl上添加的Block事件    
 jrswizzle 主要是swizzling    
 moriarty 一些还算有用的功能    
 QSUtilities 一些基础库 (Instagram有用到)    
 libextobjc 一堆oc的扩展    
 PrettyTimestamp 友好时间的扩展    
 ios-jail-break-detector 检测是否越狱 有上线    
 crackify 检测App是否被破解    
 NSBundle-OBCodeSigningInfo 检查当前签名、Sandbox状态 MacOSX    
 UIView-AnimatedProperty 为UIView添加动画效果的property,有用到swizzle    
 Block-KVO Block风格的KVO~    
 MTDates 一些Data的category    
 CocoaSecurity 常见的哈希、加密解密算法    
 sskeychain 访问keychain 支持iOS Mac    
 ABContactHelper 访问联系人    
 UISS 用JSON的风格设置UIKit样式    
 Underscore.m 仿JS的underscore.js来写的,用于访问和处理数据    
 TICoreDataSync 在不同设备间对CoreData进行同步 (iPhone iPad Mac)    
 SoloComponents-iOS 几个轻量的组件,没什么用,2年没更新    
 MAObjCRuntime 将运行时包装成ObjC    
 Objective-C-Generics 通过宏定义勉强实现的范型    
 TBMacros 一些常用的宏定义    
 NSString-Ruby 为Ruby程序员带来的字符串相关功能    
 ObjectiveRecord CoreData包装的活动记录 有RoR风格的API    
 FastImageCache 滑动时快速显示图片的库,Path开发    
基础功能
 mediaextract 纯C的一些常用媒体文件的解析读取    
 objection 一个估计是java ee写多了的人搞的。。注解依赖注入xx工厂之类的    
 Typhoon IoC容器啊~~    
 HTKit 一票乱七八糟的东西    
 StringScore 模糊匹配字符串 查找某两个字符串的相似程度    
 RegexKitLite 正则表达式库 (从SF.net mirror过来)    
 FormatterKit 一个NSString的格式化工具    
 TMCache 一个内存Cache    
 EGOCache EGOImage里面的 Cache功能    
 HJCache 一个缓存网络内容等的Cache    
 RNCryptor 加密解密相关 貌似更上流, note:去看一下他博客    
 ssziparchive zip压缩 zip解压~    
 ZipKit 一个ZipKit 从bitbucket Mirror过来    
 ZipKit 如同ZipKit 改为ARC了    
 zipzap Zip文件处理 底层为libz    
 MTMigration 版本升时执行一次    
 MTControl jQuery风格touch事件绑定    
 storage 快速、线程安全的I/O存储操作    
 CHCSVParser CVS文件解析    
 YLMoment 日期的解析,格式化等,支持多语言    
 CMUnistrokeGestureRecognizer 各种奇怪的手势检测    
 EKAlgorithms.git 常见算法的ObjC实现,包括排序、查找、数组、字符串、常用数据结构..    
框架/封装
 three20 一个曾经用得广泛的庞大的iOS开发框架 已不再维护    
 nimbus three20替代品 又一个庞大的框架    
 BeeFramework 一个基于MVC的框架, 比较大..    
 OmniGroup 一套很庞大的库(OmniGroup) 支持Mac和iOS 更新迅速    
 ReactiveCocoa 一套响应式编程的框架(Functional Reactive Programming) 支持Mac    
 WebViewJavascriptBridge WebView和Cocoa之间的事件传递    
 OCUDL 自定义literals 有点意思~~    
 Kiwi 一个Behavior驱动编程框架? (BDD)?    
 Mantle 一个Model层, 替代CoreData 可以生成Model对象~ Github官方出品..    
 MagicalRecord CoreData的包装 简化代码    
 fmdb SQLite的封装    
 KZPropertyMapper 一个Model的封装,类JSON    
 BlockInjection 为某个方法注入一个Block 类似AOP    
 NSObject-ObjectMap JSON和XML包装到Object    
 Ejecta 通过OpenGL OpenAL来实现 WebCanvas JS等,很庞大~    
 FCModel 为SQL程序员包装一下CoreData    
功能/封装
 iOS-System-Services 获取各种设备信息 包括硬件、网络、内存、进程等等    
 MKStoreKit iAP用的库    
 CargoBay 一个包装iAP StoreKit的库    
 RMStore 很轻量的iAP包装    
 QuincyKit 处理crach信息的库 只有上架应用才能用 支持Mac    
 OpenUDID 系统UDID替代方案    
 UIDevice-with-UniqueIdentifier-for-iOS-5 另一个UUID解决方案 但iOS7不能用了    
 uidevice-extension 一系列UIDevice的扩展 有PrivateAPI 最新的工程在cookbook-code里    
 InAppSettingsKit 包装了设置、URLScheme、Mail、Icon等东西    
 DTWebArchive 允许访问剪贴板中的WebArchive格式富文本    
 routable-ios inApp的URL定义 在App内打开自定义URL (解耦)    
 JLRoutes 复杂的URL Scheme解析和路由    
 Emoji 访问Emoji图片的功能    
 PDKeychainBindingsController 以类似UserDefault的方式访问Keychain    
 CoreTextWrapper 一个CoreText库的包装    
 Slash 对AttributeString的封装    
 iHasApp 检测某个App是否安装,集成了常见的URL Scheme    
网络
基础
 AFNetworking 很棒的HTTP网络通信库    
 asi-http-request 一个HTTP库 同样很知名 性能好,稳定 但已不再维护    
 MKNetworkKit 一个HTTP库 支持Mac 同样也不错    
 STHTTPRequest 一个非常简单的http库,包装了NSURLConnection    
 RestKit 一个HTTP库 用来与RESTful的服务进行交互    
 AFIncrementalStore 用CoreData和AFNetworking 将HTTP数据持久化    
 CocoaAsyncSocket TCP/UDP包装库 支持Mac 很棒    
 Reachability 判断设备网络情况 和苹果的很像 用ARC、GCD    
 SDReachability 判断设备网络情况 和苹果的很像,更友好?    
 socket.IO-objc 支持HTTP 长轮询 socket.io    
 DTBonjour Bonjour和Wifi    
 XMPPFramework XMPP客户端的库~ 支持Mac    
 CocoaHTTPServer 一个轻量的HTTP Server 支持Mac    
 SocketRocket WebSocket客户端~    
 MailCore IMAP SMTP邮件协议    
JSON
 JSONKit 性能非常好 (只比Apple原生的差一点)    
 json-framework SBJson 曾经用得很广泛的JSON 性能差    
 TouchJSON 又一个JSON库    
 yajl-objc 一个JSON库 可以支持流解析 支持Mac    
 JSONModel 一个构建JSON Model的工具和库    
XML/Html
 MWFeedParser Feed/Atom解析    
 RSSKit RSS Atom解析    
 ElementParser 提供Html和XML的解析    
 hpple 提供Html/XML解析    
 Objective-C-HMTL-Parser 一个很简单的HTML解析 包装了下libxml    
 RaptureXML 一个简单的XML解析器 包装了libxml    
 KissXML 解析XML的库 包装了libxml    
 TBXML 快速解析xml的库    
 xmldocument 又一个解析XML的库    
 XMLDictionary 蛮好用的一个XML转NSDictionary的类~    
 XML-to-NSDictionary XML转NSDictionary    
 MMMarkdown 一个渲染Markdown到HTML的小引擎    
 Ashton 在NSAttrbuteString和Html之间转换    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值